工厂模式
2015-10-27 19:09
232 查看
优点:工厂类含有必要的逻辑来产生相应的对象,而客户类可以免除创建对象的责任,实现了责任的分离。
(例:现在的商品经济模式,生产棉麻制品都有相应的工厂来完成,而我们作为消费者不用关注是怎么生产的,所以分离了责任)
一、简单工厂模式又称为:静态工厂方法模式(只关心对象的生产,不在意对象的功能,违反高内聚的原则,可扩展性差),可以用于简单的情况。
三个角色:工厂角色,抽象产品角色(具体产品角色的抽象接口),具体的产品角色
变种:
1.可以有多个工厂方法分别负责不同的对象生产。
2.抽象产品角色省略(只有一种具体产品的情况)。
3.工厂产品角色合并至抽象产品角色。
4.抽象产品角色省略,工厂合并至具体产品。
二、工厂方法模式
又称为多态工厂模式
定义一个创建产品对象的工厂接口,将实际创建的工作交给具体的工厂,每个具体的工厂负责一类产品对象的生产。
三、抽象工厂
推荐:http://www.cnblogs.com/cbf4life/archive/2009/12/23/1630612.html
(例:现在的商品经济模式,生产棉麻制品都有相应的工厂来完成,而我们作为消费者不用关注是怎么生产的,所以分离了责任)
一、简单工厂模式又称为:静态工厂方法模式(只关心对象的生产,不在意对象的功能,违反高内聚的原则,可扩展性差),可以用于简单的情况。
三个角色:工厂角色,抽象产品角色(具体产品角色的抽象接口),具体的产品角色
变种:
1.可以有多个工厂方法分别负责不同的对象生产。
2.抽象产品角色省略(只有一种具体产品的情况)。
3.工厂产品角色合并至抽象产品角色。
4.抽象产品角色省略,工厂合并至具体产品。
二、工厂方法模式
又称为多态工厂模式
定义一个创建产品对象的工厂接口,将实际创建的工作交给具体的工厂,每个具体的工厂负责一类产品对象的生产。
三、抽象工厂
推荐:http://www.cnblogs.com/cbf4life/archive/2009/12/23/1630612.html
相关文章推荐
- 我又拉后退了
- python学习——基础
- 大型高并发高负载网站/论坛的系统架构
- WinPcap 获取本地适配器信息
- 导向滤波 收集材料备份
- .net之session跨页面传值
- SQL语句中的Having子句与where子句之区别
- 团队贡献分的分配方式
- iTOP-4412开发板---Linux系统学习下载步骤
- Struts核心文件
- 用c语言输出菱形(13行)
- 【工具类】安卓开发 HttpPost和HttpGet请求
- 结构、表现、行为 分离
- Problem I. Improvements
- 023 Merge k Sorted Lists [Leetcode]
- CoreData的使用之二
- Objective-C总Runtime的那点事儿(一)消息机制
- libev / libuv / python tornado / nginx 性能比较
- hihocodxer1187 Divisors
- Activity进阶知识整理