Simply The Best.

.NET FrameWork C# VB.NET CodeDom

博客园 首页 新随笔 联系 订阅 管理
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 on 2005-12-06 18:36  吹口琴的程序员  阅读(254)  评论(0编辑  收藏  举报