Factory Method模式角色与结构
2017-06-07 13:46
357 查看
C#工厂设计模式
工厂方法模式之所以可以解决简单工厂的模式,是因为它的实现把具体产品的创建推迟到子类中,此时工厂类不再负责所有产品的创建,而只是给出具体工厂必须实现的接口,这样工厂方法模式就可以允许系统不修改工厂类逻辑的情况下来添加新产品,这样也就克服了简单工厂模式中缺点。
namespace Eventlearn
{
class Program
{
public static void Main()
{
TVFactory tvA = new AFactory();//子类给父类
tvA.BuildTV().Create();
Console.ReadKey();
}
}
//创建一个工厂模式(抽象类)
public abstract class TVFactory
{
public abstract TV BuildTV();
}
//具体工厂A类
public class AFactory : TVFactory
{
public override TV BuildTV()
{
return new TVA();
}
}
//产品抽象类
public abstract class TV
{
public abstract void Create();
}
////具体产品A类
public class TVA : TV
{
public override void Create()
{
Console.WriteLine ("Create a TV of A");
}
}
//具体工厂B类
public class BFactory : TVFactory
{
public override TV BuildTV()
{
return new TVB();
}
}
//具体产品B类
public class TVB : TV
{
public override void Create()
{
Console.WriteLine("Create a product of B");
}
}
}
相关文章推荐
- c#设计模式- Factory Method模式(工厂方法)
- 设计模式之工厂模式(Factory Method)
- java设计模式之创建型模式-FactoryMethod ( 工厂方法 )
- 设计模式初学者笔记:Factory Method模式
- C++实现Creational - Factory Method模式
- Factory Method设计模式
- C#设计模式(5)-Factory Method Pattern
- C#设计模式(5)-Factory Method Pattern
- Java设计模式-----Factory Method模式
- 【设计模式】之 Factory Method 模式
- 设计模式实战之——创建型模式(Builder、Factory method、Abstract factory)
- 设计模式之:工厂方法(Factory Method)
- 创建型模式之工厂方法模式(FactoryMethod)
- 02. Factory Method模式代码
- Design Pattern: Factory Method 模式
- Java设计模式-----Factory Method模式
- 设计模式、用Delphi描述-->Factory Method模式
- 设计模式之工厂方法模式---factory method
- 设计模式学习笔记四:工厂方法(Factory Method)
- 设计模式(2)-工厂方式模式(Factory Method)