Simply The Best.

.NET FrameWork C# VB.NET CodeDom

博客园 首页 新随笔 联系 订阅 管理
  19 Posts :: 0 Stories :: 4 Comments :: 0 Trackbacks

公告

2005年12月6日 #

Design Pattern : Flyweight Pattern : KeyPoint

posted @ 2005-12-06 20:59 吹口琴的程序员 阅读(74) 评论(0) 编辑

Design & Pattern : Factory Series : Generalization

简单工厂模式(Simply Factory Pattern),
工厂方法模式(Factory Method Pattern),
抽象工厂模式(Abstract Factory Pattern)

想把这3个模式的特点和关联总结一下。

Pattern Name 工厂 Factroy Return Value 决策部 Director 实例对象的关系 最有特点的Code 特点
简单工厂模式 FactoryClass 同根的不同子实例 有,由FactroyClass中的IF文决策 一个树结构,同根 FactoryClass{
   public FactoryClass (){
if (cun>3)
  return new CA();
else
  return new CB();
}}
Simply,直接返回最终实例
工厂方法模式 EventFactoryClass 同根的不同子实例 一个树结构,同根,子实例中的方法动作不同 efc.MethodRun() 实例和方法的绑定
抽象工厂模式 RootClass 根的实例 无,由RootClass的Member决定 根实例本身,多种(个)Member的组合 RootClass{
  SubClass1 sub1;
  SubClass2 sub2;
}
MemberClass的隔离&组合


工厂和抽象工厂,总之工厂:就是返回实例对象的Class。
工厂方法模式的名称中主要强调了方法,可以理解为工厂的零件决定方法的含义,既然和工厂挂上了边,是可以要返回一个实例的,但不是必须的。

决策点:就是决定返回哪个实例的分支处理。
posted @ 2005-12-06 18:36 吹口琴的程序员 阅读(99) 评论(0) 编辑

Design & Pattern : Proxy Pattern : keypoint

适用范围:对于同一个对象,需要根据状态的不同,来动态地执行相应的动作的场合

设计上的要点:一个对象,它必须是相对范围内全局对象,该对象内存在改变自身状态的方法,接着就是根据这个状态的改变,来执行不同方法的工厂模式(Factory Pattern)了。

经典的例子:是运用Timer  , TimeCallBack来实现和描述的。

为网络和互联网应用开发的C#中有很多代理行为,ADO.NET中数据库的连接类全部都是代理(Proxy)。

Adapter ,Proxy 都是在对象外围构建了一个薄层,but, Adapter是为对象提供一个不同的接口,而Proxy则是为对象提供的是相同的接口,这个接口可以推迟处理过程和数据转换的工作。

Decorator也具有与它所包含的对象相同的接口,但它的目标是为原对象添加额外的(有时是可视化的)功能,而Proxy则正好相反,它控制对所包含的类的访问。
posted @ 2005-12-06 10:08 吹口琴的程序员 阅读(63) 评论(0) 编辑