设计模式(工厂方法)
2015-08-04 14:09
387 查看
工厂方法
意图:
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。
适用性:
当一个类不知道它所必须创建的对象的类的时候。
当一个类希望由它的子类来指定它所创建的对象的时候。
当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。
原理图:
代码实现:
参考文献:
http://www.cnblogs.com/zhangchenliang/p/3700820.html
意图:
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。
适用性:
当一个类不知道它所必须创建的对象的类的时候。
当一个类希望由它的子类来指定它所创建的对象的时候。
当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。
原理图:
代码实现:
<?php /** * 工厂模式 */ /** * 抽象产品 */ abstract class food { private $_name ; abstract public function make(); } /** * 实体产品 */ class greens extends food { public function make() { echo '我要做greens'; } } class bread extends food { public function make() { echo '我要做bread'; } } /** * 抽象工厂 */ abstract class servant { abstract public function createFood(); } /** * 实体工场 */ class greensFactory extends servant{ public function createFood() { return new greens(); } } class breadFactory extends servant{ public function createFood () { return new bread(); } }
参考文献:
http://www.cnblogs.com/zhangchenliang/p/3700820.html
相关文章推荐
- 编码练习:猴子捡桃
- 关于在mac 配置eclipse c开发
- Object-c 典型的单例写法
- Java NIO系列教程(四) Selector
- Eddy's research I
- 瞎整SSM碰到的问题总结
- VI使用
- Oracle语句优化1
- 设计模式(单例)
- 【转】环形队列理论(C语言)
- 阿里——杭州——电话面试题(2016)
- Java NIO系列教程(三) Buffer
- Arcgis API for JavaScript--加载多种底图
- [Oracle] 利用自治事务实现审计功能
- iOS UITextField总结
- MonkeyRunner API教程
- ios动画效果和实现
- SecureCRT中文显示乱码
- 最简单的视频网站(JavaEE+FFmpeg)
- Android中静态变量的生命周期