python 设计模式实现
2017-09-17 21:49
232 查看
参见:
http://www.cnblogs.com/wuyuegb2312/archive/2013/04/09/3008320.html http://www.cnblogs.com/toutou/p/4774284.html
1、工厂模式,关键字:
接口、继承、关联(以私有实现)、组合(比如雁群和雁的关系)、依赖关系
适用于不经常向工厂方法中新增类的情况
2、工厂方法模式
关键词:产品对象、工厂对象、工厂生产产品、工厂定义产品的生产顺序
参见:http://blog.csdn.net/wujiang88/article/details/50555844
http://www.cnblogs.com/cbf4life/archive/2009/12/20/1628494.html http://www.cnblogs.com/cbf4life/archive/2009/12/20/1628494.html
工厂方法相比工程模式会比较复杂,因为会涉及多个工厂类,并且不能改变事实:客户端仍需要修改代码
3、策略模式:
定义了不同的方式
区别:
1、工厂模式 VS 策略模式:工厂模式返回不同的产品对象,而策略模式中的类会对产品进行进行实例化并实现公共的方法(公共方法使用该实例,因为各个策略方法很接近)
2、工厂模式 VS 工厂方法:工厂方法会存在不止一个工厂类,因此会较为复杂
http://www.cnblogs.com/wuyuegb2312/archive/2013/04/09/3008320.html http://www.cnblogs.com/toutou/p/4774284.html
1、工厂模式,关键字:
接口、继承、关联(以私有实现)、组合(比如雁群和雁的关系)、依赖关系
适用于不经常向工厂方法中新增类的情况
2、工厂方法模式
关键词:产品对象、工厂对象、工厂生产产品、工厂定义产品的生产顺序
参见:http://blog.csdn.net/wujiang88/article/details/50555844
http://www.cnblogs.com/cbf4life/archive/2009/12/20/1628494.html http://www.cnblogs.com/cbf4life/archive/2009/12/20/1628494.html
工厂方法相比工程模式会比较复杂,因为会涉及多个工厂类,并且不能改变事实:客户端仍需要修改代码
3、策略模式:
定义了不同的方式
区别:
1、工厂模式 VS 策略模式:工厂模式返回不同的产品对象,而策略模式中的类会对产品进行进行实例化并实现公共的方法(公共方法使用该实例,因为各个策略方法很接近)
2、工厂模式 VS 工厂方法:工厂方法会存在不止一个工厂类,因此会较为复杂
相关文章推荐
- 设计模式之策略模式(python实现)
- 设计模式六(建造者模式,采用python实现)
- 设计模式八(原型模式,python语言实现)
- 设计模式之观察者模式(Python实现)
- 设计模式一(简单工厂,采用python实现)
- Head First 设计模式——装饰器(Decorator Pattern)——Python实现
- 设计模式十六(职责链模式,python实现)
- python设计模式实现 -- 观察者模式
- 设计模式十一(桥接模式,python 语言实现)
- 23种设计模式之python实现
- 设计模式十九(中介者模式,python语言实现)
- <读书笔记> Thinking in python (Python 设计模式) 1. Singlton的c++与python的实现
- 23种设计模式之python实现--工厂方法
- 设计模式十四(享元模式flyweight,python语言实现)
- Head First 设计模式——观察者模式(Observer Pattern)——Python实现(1)
- 设计模式四(装饰模式,采用python 实现)
- 设计模式之单例模式(python实现)
- Head First 设计模式—Python实现
- 设计模式十七(状态模式,python语言实现)
- 【设计模式】观察者模式(observer)c#/python实现