工厂模式
来源:互联网 发布:hd电视直播软件 编辑:程序博客网 时间:2024/06/17 15:07
结构
Factory(抽象工厂角色) :声明了工厂方法,用于返回一个产品,是工厂方法的核心
ConcreteFactory(具体工厂) : 抽象工厂的子类,返回具体产品的实例
Product(抽象产品角色):所有产品对象的父类,定义了公共方法
ConcreteProduct(具体产品角色):具体产品与具体工厂一一对应
逻辑结构
abstract class Product { //所有产品类的公共方法 public void MethodSame() { //公共方法 } //所有产品各自的方法 public abstract void MethodDiff(); } class ConcreteProductA : Product { public override void MethodDiff () { //自己的方法 } } class ConcreteProductB : Product { public override void MethodDiff () { //自己的方法 } } //抽象工厂,可以是接口,抽象类,具体类 interface Factory { Product FactoryMethod(); } //不同的具体工厂对应不同的具体产品 class ConcreteFactoryA : Factory { public Product FactoryMethod() { return new ConcreteProductA (); } } //不同的具体工厂对应不同的具体产品 class ConcreteFactoryB : Factory { public Product FactoryMethod() { return new ConcreteProductB (); } }
优点:
需要增加新的具体产品时,只需要增加对应的具体工厂,不需要修改已有的代码
1 0
- 工厂模式 -- 工厂方法
- 工厂模式 -- 抽象工厂
- 工厂模式-简单工厂
- 工厂模式-工厂方法
- 工厂模式:静态工厂
- 工厂模式-简单工厂
- 工厂模式-抽象工厂
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-静态工厂
- 工厂模式-抽象工厂
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- Recommander System
- 堆排序算法
- 浅谈vue实现数据监听的函数 Object.defineProperty
- MFC使用ADO连接SQLServer数据库
- Hadoop
- 工厂模式
- 抽象类和抽象方法
- ajax方法
- GAN框架研究与思路整理
- 笔试小问题整理
- GitBook使用教程
- Ignatius and the Princess IV
- numpy:将数组保存到txt文件中
- MySQL创建用户与授权方法