设计模式-简单工厂模式
2013-07-31 10:31
253 查看
1 简单工厂模式
定义:是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
理解:对象的创建交给工厂处理
内容:工厂抽象类,具体实现类
作用:对象创建的作用交给工厂
其他:由于工厂类集中了所有实例的创建逻辑,违反高内聚责任分配原则,因此一般只在很简单的情况下应用。不属于23种GOF设计模式之一
UML图:
![](http://pic002.cnblogs.com/img/guoshiandroid/201006/2010062300583042.png)
2 demo
比如有个国家的运动员协会,他们是负责登记与注册职业运动员的(就好像我们国家的体育总局,呵呵,无论足球篮球还是乒乓球的运动员都必须在这里注册才能拿到我们国家职业运动员牌照)。一家体育俱乐部(比如篮球的广东宏远,足球的深圳健力宝)想获得球员为自己俱乐部效力,就必须通过这个运动员协会。
根据DIP我们可以设计一个“运动员”接口,“足球运动员”和“篮球运动员”(还有其他运动员)都实现“运动员”这个接口。而“运动员协会”就是一个简单工厂类,它负责实例化“运动员”。我们这里的“俱乐部”就是一个客户端(Client),不同的“俱乐部”就是不同的客户端。
定义:是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
理解:对象的创建交给工厂处理
内容:工厂抽象类,具体实现类
作用:对象创建的作用交给工厂
其他:由于工厂类集中了所有实例的创建逻辑,违反高内聚责任分配原则,因此一般只在很简单的情况下应用。不属于23种GOF设计模式之一
UML图:
![](http://pic002.cnblogs.com/img/guoshiandroid/201006/2010062300583042.png)
2 demo
比如有个国家的运动员协会,他们是负责登记与注册职业运动员的(就好像我们国家的体育总局,呵呵,无论足球篮球还是乒乓球的运动员都必须在这里注册才能拿到我们国家职业运动员牌照)。一家体育俱乐部(比如篮球的广东宏远,足球的深圳健力宝)想获得球员为自己俱乐部效力,就必须通过这个运动员协会。
根据DIP我们可以设计一个“运动员”接口,“足球运动员”和“篮球运动员”(还有其他运动员)都实现“运动员”这个接口。而“运动员协会”就是一个简单工厂类,它负责实例化“运动员”。我们这里的“俱乐部”就是一个客户端(Client),不同的“俱乐部”就是不同的客户端。
相关文章推荐
- 简单工厂设计模式
- 设计模式--简单工厂模式
- 设计模式之简单工厂
- 【有毒的设计模式】简单工厂模式
- C#之三十八 简单工厂设计模式
- 简单工厂设计模式
- 设计模式(7)-----工厂设计模式(简单工厂设计模式)
- java简单工厂设计模式
- Java设计模式之简单工厂设计模式
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别 (转)
- 设计模式之简单数据工厂
- 设计模式-简单工厂模式
- 设计模式-工厂方法 简单工厂 抽象工厂 模板方法
- 设计模式: 简单工厂, 工厂方法, 和抽象工厂总结
- 设计模式--简单工厂模式
- Java设计模式之-----工厂模式(简单工厂,抽象工厂)
- 设计模式学习之简单工厂、工厂方法、抽象工厂
- 设计模式-简单工厂(Demo)
- 设计模式之(2)简单工厂模式
- 设计模式- 简单工厂模式---->工厂方法模式---->抽象工厂模式