简单工厂 工厂模式 抽象工厂---C#
2013-04-26 16:28
489 查看
工厂模式看了很多,属这一篇通俗易懂了。新手建议从这入门。
这篇文章说一下简单工厂,工厂,抽象工厂的概念和应该场景
首先,从简单工厂开始:
AbstractFactory
应用场景:封装变化点。创建一系列相互依赖的对象。
好了,到这里就把简单工厂,工厂,抽象工厂都介绍完了,抽象工厂的问题是如果有创建对象变化的时候,还是要变化代码,重新生成,后面会介绍用反射解决这个问题
这篇文章说一下简单工厂,工厂,抽象工厂的概念和应该场景
首先,从简单工厂开始:
AbstractFactory
AbstractFactory /*其实工厂和抽象工厂没有多大区别,只不过是抽象工厂生产的商品是多个而已 通俗的说,就是抽象工厂模式的具体工厂里面会有多个实例具体对象的方法 更直观的就是,抽象工厂模式每个工厂一次造多个玩意,而工厂模式的每个工厂只造一个玩意*/ public abstract class Product { public abstract void work(); } public class ProductA : Product { public override void work() { Console.Write("ProductA"); } } public class ProductB : Product { public override void work() { Console.Write("ProductB"); } } public abstract class Car { public abstract void Build(); } public class CarA : Car { public override void Build() { Console.Write("Build CarA"); } } public class CarB : Car { public override void Build() { Console.Write("Build CarB"); } } public abstract class AbstractFactory { //工厂生产多个对象 public abstract Product newproduct(); public abstract Car newCar(); } public class AbstractFactoryA : AbstractFactory { public override Product newproduct() { return new ProductA();//子类里面实现具体的实例化 } public override Car newCar() { return new CarA(); } } public class AbstractFactoryB : AbstractFactory { public override Product newproduct() { return new ProductB();//子类里面实现具体的实例化 } public override Car newCar() { return new CarB(); } } public class AbstractFactoryClient { public static void GetFactoryMethod() { AbstractFactory factorysubA = new AbstractFactoryA(); AbstractFactory factorysubB = new AbstractFactoryA(); Product pruductA = factorysubA.newproduct(); Product pruductB = factorysubB.newproduct(); Car factorycarA = factorysubA.newCar(); factorycarA.Build(); pruductA.work(); pruductB.work(); } }
应用场景:封装变化点。创建一系列相互依赖的对象。
好了,到这里就把简单工厂,工厂,抽象工厂都介绍完了,抽象工厂的问题是如果有创建对象变化的时候,还是要变化代码,重新生成,后面会介绍用反射解决这个问题
相关文章推荐
- 简单工厂 工厂模式 抽象工厂 之c#
- c#之简单工厂设计模式
- 简单工厂模式(C#实现)
- C#设计模式之简单工厂模式
- 简单工厂,工厂模式,抽象工厂
- 设计模式之简单工厂,工厂模式,抽象工厂
- 实例解析C#设计模式编程中简单工厂模式的使用
- 设计模式--简单工厂,工厂方法,抽象工厂
- 设计模式-工厂方法 简单工厂 抽象工厂 模板方法
- C#设计模式--简单工厂
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- C#设计模式之简单工厂篇(转载)
- C#设计模式之简单工厂篇
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- C#抽象工厂简单实现类
- 设计模式(二):简单工厂、工厂和抽象工厂的区别。
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别 (转)
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- 简单工厂,工厂模式,抽象工厂
- c#设计模式-简单工厂