设计模式C#描述——工厂方法模式
2008-04-24 17:44
316 查看
设计模式C#[/b]描述——工厂方法模式[/b]工厂方法模式是类的创建模式,又叫做虚拟构造子模式或多态性工厂模式。它的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。简单工厂模式的缺点:[/b]由于工厂类集中了所有产品创建逻辑的,如果不能正常工作的话会对系统造成很大的影响。如果增加新产品必须修改工厂角色的源码。工厂方法模式的优点:[/b]在工厂方法模式中,核心的工厂类不再负责所有的产品的创建,而是将创建的工作交给子类去做。这个核心类成为一个抽象工厂的角色,仅负责给出具体工厂子类必须实现的接口,而不接触哪一个产品类实例化的细节。这使得工厂方法模式可以允许系统在不修改具体工厂角色的情况下引进新的产品,使其具有超越简单工厂模式的优越性。 以下面情况为例讨论该模式的具体实现:抽象工厂角色[/b](Creator):担任工厂方法模式的核心,规定创建对象的工厂类应该实现的接口。具体工厂角色[/b](ConcereteCreator):负责具体产品对象的创建,实现Creator规定的接口。抽象产品角色[/b](Product):工厂方法模式所创建对象的超类型,规定产品应具有的接口。具体产品角色[/b](ConcreteProduct):实现Product所规定的接口。示例代码如下:Creator:[/b]public interface Creator { Product factory();//工厂方法 } ConcreteCreator1[/b]:[/b] class ConcreteCreator1:Creator { public Product factory()//工厂方法 { return new ConcreteProduct1(); } } ConcreteCreator2[/b]:[/b] class ConcreteCreator2:Creator { public Product factory()//工厂方法 { return new ConcreteProduct2(); } } Product[/b]:[/b]public interface Product { } ConcreteProduct1:[/b]class ConcreteProduct1:Product { public ConcreteProduct1() { Console.WriteLine ("Creat ConcreteProduct1"); } } ConcreteProduct2:[/b] class ConcreteProduct2:Product { public ConcreteProduct2() { Console.WriteLine ("Creat ConcreteProduct2"); } } Client:[/b]class Client { private static Creator creator1,creator2; private static Product product1,product2; [STAThread] static void Main(string[] args) { creator1=new ConcreteCreator1 (); product1=creator1.factory(); creator2=new ConcreteCreator2 (); product2=creator2.factory(); } }
相关文章推荐
- 设计模式C#描述——工厂方法模式 mutou23 [原作]
- 设计模式C#描述——工厂方法模式
- 设计模式C#描述之——简单工厂模式
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
- 《模式——工程化实现及扩展》(设计模式C# 版)《工厂方法模式 Factory Method》——“自我检验" 参考答案
- 乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
- C#--设计模式之工厂方法模式
- 设计模式之单利模式(C#语言描述,附视频下载地址)
- c# 设计模式:工厂方法模式
- C#设计模式——工厂方法模式(Factory Method Pattern)
- 设计模式C#描述之——简单工厂模式
- C#设计模式之工厂方法模式(Factory Method Pattern)
- C#设计模式(3)——工厂方法模式 推荐
- C# 设计模式系列教程-工厂方法模式
- 设计模式c#语言描述——合成(Composite)模式
- 设计模式C#描述之——简单工厂模式 .
- 设计模式C#描述之——简单工厂模式、抽象工厂模式、单例与多例模式
- c#设计模式==工厂方法模式
- C#设计模式——工厂方法模式
- C#设计模式——工厂方法模式(Factory Method)