`
ol_beta
  • 浏览: 282683 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

读书笔记:设计模式-简单工厂模式(SimpleFactory)

阅读更多

不想做过多的理论说明,举个例子吧。
有个鞋厂,生产耐克,李宁的鞋子,用代码实现,怎么做呢?

 

package org.gunct.pattern;

public class ShoesFactory {
	public void getNikeShoes() {
		System.out.println(" 工厂生产了耐克鞋! ");
	}
	public void getLiNingShoes() {
		System.out.println(" 工厂生产了李宁鞋! ");
	}
}

 

根据用户需求,生产不同的鞋子:

 

public class Consumer {
	public static void main(String[] args) {
		ShoesFactoryfactory = new ShoesFactory();
		if (" 用户要耐克鞋 ") {
			factory.getNikeShoes();
		}
		if (" 用户要林宁鞋子 ") {
			factory.getLiNingShoes();
		}
	}
}

 

分享到:
评论
1 楼 ol_beta 2012-07-02  
当年写的这个例子不是很好。
其实很多时候,工厂模式是代替构造器来创建对象的。
上面例子客户端可能还要一些逻辑,如果把参数传输静态方法中,可能更好些。
...
factory.getShoes("nike");  
factory.getShoes("lining"); 
...

当然,应该对shoes进行抽象。这个能持之更多的产品。
简单工厂是工厂模式的简化,如果产品更加复杂,可以考虑完整的工厂模式。

相关推荐

Global site tag (gtag.js) - Google Analytics