代码改变世界

Silverlight实战示例2(兼集合属性的妙用)--实体的组织(续)

2011-08-24 21:59 by java线程例子, 142 阅读, 0 推荐, 收藏, 编辑
摘要:3)数据行DynamicDataRow.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace MEntities{ [Serializable] public partial class DynamicDataRow { public List<DynamicDataField> DataFields { get; private set; } public DynamicDataRow() { DataFields = new List<Dy 阅读全文

Silverlight实战示例2(兼集合属性的妙用)--实体的组织

2011-08-24 21:52 by java线程例子, 160 阅读, 0 推荐, 收藏, 编辑
摘要:在本篇中,我们不仅演示实体的结构,而且我们利用集合属性来打造万能实体(类似于DataTable)。 下面是代码:1)首先我们定义Column,主要提供字段列信息:DynamicDataColumn.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace MEntities{ [Serializable] public partial class DynamicDataField { public string FieldName { get; set; } pub 阅读全文

Silverlight实战示例1(兼集合属性的妙用)--整体架构

2011-08-24 21:16 by java线程例子, 183 阅读, 0 推荐, 收藏, 编辑
摘要:在这个系列里我们将学习一般业务系统的整个过程,涉及到从数据库一直到silverlight页面的各个方面。示例中遵循我一贯的风格,不采用任何第三方框架。但为了简单起见,这里不考虑多种数据库支持(其实多种数据库支持在可以利用存储过程的情况下,非常简单,封装一个数据库访问层即可),同时为了减轻贴图的压力,我们假设各位对于基本的silverlight的程序创建没有任何问题。下面是整个程序的大致框架:1)数据库:示例中采用sqlserver.2)应用服务层:分为4.5层,其中实体层是大部分层次都需共享的,因此力求简单,干净(除了必要的属性外,不要给实体任何方法),其它4层一次是: A)数据库访问层:封这 阅读全文

架构设计原则--类层次多少为宜?

2011-08-23 06:40 by java线程例子, 160 阅读, 0 推荐, 收藏, 编辑
摘要:只要是采用面向对象编程,类层次是必然的(包括接口),虽然面向对象编程有一个原则就是多用接口少用继承的原则,但这并不是说不要用继承,毕竟继承可以实现代码的复用,有其好处。对于自己的类层次,当然是越少越好,但不管多少最少是2两层,那么2-3层应该很正常,4-5层有点多,6层及以上,对于一般的应用体系就多了。我一般设计的应用体系中类层次是:第一层,顶层,一般为非范型,用于该类的基本规范和约束,第2层分标准功能和用户自定义两个分支。标准功能采用范型,这样程序员在叶子类使用时语义更加明确,不用逆向转换,用户自定义基类只提供标准的必要的约束,提供给用户处理非标准的情况。第三层就是叶子类。这种层次体系的好处 阅读全文

C#在Form上面画一把尺子

2011-08-17 12:28 by java线程例子, 356 阅读, 0 推荐, 收藏, 编辑
摘要://-------------------------------------------------// TenCentimeterRuler.cs ?2001 by Charles Petzold//-------------------------------------------------using System;using System.Drawing;using System.Windows.Forms;class TenCentimeterRuler: PrintableForm{ public new static void Main() { ... 阅读全文

Java学习心得(转自张国宝)

2011-08-17 12:17 by java线程例子, 196 阅读, 0 推荐, 收藏, 编辑
摘要:1. 数组有没有length()这个方法? String有没有length()这个方法? 答:数组没有length()这个方法,有length的属性。 String有length()这个方法。2. String s = new String("xyz");创建了几个String Object? 答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。3. abstract class和interface有什么区别? 答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中 阅读全文

设计模式之--责任链模式

2011-07-29 14:28 by java线程例子, 292 阅读, 0 推荐, 收藏, 编辑
摘要:在一些情况下,对一个消息(含事件)的响应和处理需要很多对象来参与,这些对象对消息的处理有前后顺序,形成一个处理链条,但对象是否真正处理消息有赖于在它之前的对象的处理策略,前一个对象处理后,后一个对象则不需参与处理,这就是责任链模式。现实中有很多类似的场景,比如上访,上访一般是从最基层的信访部门接受信访开始进行处理,如果下一级信访部门无法处理,则交给上一级部门进行处理,这样一级一级的处理,知道最高信访部门。这样所有层级的信访部门就构成了一个责任链。 责任链模式在设计中的应用很多,比如Delphi中对系统对消息的处理,对异常的处理等。只是建立责任链的方式可能不同,有的是建立明确的处理责任链,如消息 阅读全文

设计模式之--中介者模式

2011-07-29 14:25 by java线程例子, 260 阅读, 0 推荐, 收藏, 编辑
摘要:在很多情况下对象之间的交互是很复杂的,在开始设计的时候,你根本不知道它需要交互的对象是谁,是什么类型。我们知道如果要对象A与对象B之间能相互交互,A与B就会构成相互依赖,如果对象一多,这种依赖就会很复杂,况且很多时候我们都不知道需要互相交互的对象有哪些,因此,在设计的时候也没办法考虑这些情况。既然在设计的时候无法预先知道对象之间的交互具体情况,我们可以将这种交互放到一个“中间平台”进行,这个中间平台知道所有对象的(依赖于所有对象,但对象是否必须依赖于平台不是必须的),这样就将对象之间的依赖简化成对象与“平台”之间的依赖,因而会大大降低对象之间的复杂度。当然,对象在平台能够进行交互,必须遵守一定 阅读全文

设计模式之--观察者模式

2011-07-29 14:20 by java线程例子, 277 阅读, 0 推荐, 收藏, 编辑
摘要:在日常生活中,有很多需要我们关注的事务(比如,股市,楼市等),这些事务我们可以称之为主题或者叫信息发布者,观察主题的目的是想了解主题的变化(消息)。一种方法当然是采用盯人策略,但这种方法有个固有的缺点,就是你盯住主题的时候,无法干其他事情,如果需要了解的主题比较多,这种办法就很麻烦了;另外一种就是主题广播,我想听的时候我就去听,不想听的时候我就不听,这种方式的好处就是可以使得观察者不用盯住主题,但缺点是如果信息发布者的信息发布是不固定的,观察者(信息接收者)可能会漏掉信息。这两种方式都各有利弊,局域网中的信息传送采用的其实就是主题广播方式,只是接收者也是盯人战术。还有一种方式就是信息发布者提供 阅读全文

WCF RIA Services---学习记录(1)

2011-07-28 11:23 by java线程例子, 180 阅读, 0 推荐, 收藏, 编辑
摘要:客户端得实体能否进行插入,修改和更新,在于对应的services服务端是否有对应的函数,可用Delete,Insert,Update元属性标签来指定对应方法。这种控制,估计是WCF RIA services安全的一部分。实际上,也只是简单的标签化,至于你的实际插入,修改和删除采不采用这些函数是无关紧要的。但至少可以通过这种标签来确定客户端能对你暴露的实体做什么事情,有个控制机制。其实通过这种方式控制客户端实体的IUD,完全可以通过另外的元属性来指定为好,因为按它要求的插入,删除和修改函数都不能返回值,这确实是个不好的特征。希望在以后的版本中,能克服这个缺点。 阅读全文