23种设计模式(2):简单工厂模式
2016-05-02 14:56
253 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LiveRock_lalala/article/details/51296383
1、没有抽象类,直接具体工厂 2、创建工厂的限制是静态的(public static Human createHuman ... )
简单工厂模式(Simple Factory Pattern),也叫做静态工厂模式。在实际项目中,采用该方法的案例还是比较多的,其缺点是工厂类的扩展比较困难,不符合开闭原则,但它仍然是一个非常实用的设计模式。
https://www.geek-share.com/detail/2472319760.html
简单工厂要素
1、没有抽象类,直接具体工厂 2、创建工厂的限制是静态的(public static Human createHuman ... )
类图
代码
interface Human { public void getColor(); public void talk(); } class BlackHuman implements Human { public void getColor() { System.out.println("黑色人种的皮肤颜色是黑色的!"); } public void talk() { System.out.println("黑色人会说话,一般人听不懂。"); } } class YellowHuman implements Human { public void getColor() { System.out.println("黄色人种的皮肤颜色是黄色的!"); } public void talk() { System.out.println("黄色人种会说话,一般说的都是双字节"); } } class WhiteHuma implements Human { public void getColor() { System.out.println("白色人种的皮肤颜色是白色的!"); } public void talk() { System.out.println("白色人种会说话,一般说的都是单字节"); } }
public class HumanFactory { public static Human createHuman(Class<? extends Human> c){ //定义一个生产出的人种 Human human=null; try { //产生一个人种 human = (Human)Class.forName(c.getName()).newInstance(); } catch (Exception e) { System.out.println("人种生成错误!"); } return human; } }
public class NvWa { public static void main(String[] args) { //女娲第一次造人,火候不足,缺陷产品 System.out.println("--造出的第一批人是白色人种--"); Human whiteHuman = HumanFactory.createHuman(WhiteHuman.class); whiteHuman.getColor(); whiteHuman.talk(); //女娲第二次造人,火候过足,又是次品, System.out.println("\n--造出的第二批人是黑色人种--"); Human blackHuman = HumanFactory.createHuman(BlackHuman.class); blackHuman.getColor(); blackHuman.talk(); //第三次造人,火候正正好,优品!黄色人种 System.out.println("\n--造出的第三批人是黄色人种--"); Human yellowHuman = HumanFactory.createHuman(YellowHuman.class); yellowHuman.getColor(); yellowHuman.talk(); } }
注意
简单工厂模式(Simple Factory Pattern),也叫做静态工厂模式。在实际项目中,采用该方法的案例还是比较多的,其缺点是工厂类的扩展比较困难,不符合开闭原则,但它仍然是一个非常实用的设计模式。
参考
https://www.geek-share.com/detail/2472319760.html
相关文章推荐
- Java23种设计模式之-----简单工厂模式
- 学习23种设计模式之简单工厂模式
- 简单工厂模式——23种设计模式综合实例应用
- 【23种设计模式】创建型模式 > 三个工厂模式(简单工厂、抽象工厂、工厂方法)
- 精通23种设计模式之简单工厂模式
- 23种设计模式之——简单工厂方法模式
- 重头开始学23种设计模式:三大工厂(简单工厂,工厂方法,抽象工厂)
- Gof23种设计模式+简单工厂设计模式总结(一)
- 23种设计模式之-----简单工厂(静态工厂)模式(SimpleFactory Pattern)
- Gof23种设计模式+简单工厂设计模式总结(二)
- 23种设计模式—之简单工厂模式
- Java 23种设计模式之简单工厂模式
- 非23种GOF设计模式之简单工厂模式
- 【23种设计模式从零学2—简单工厂与工厂模式】
- 23种设计模式之简单工厂——大话设计模式
- 设计模式(三十一)------23种设计模式(23):简单工厂模式
- 23种设计模式01--简单工厂
- 设计模式之创建型模式——简单工厂(又称为静态工厂不属于GOF23种设计模式以内)
- 23种设计模式01---工厂模式之抽象工厂模式
- c++设计模式之简单工厂模式