java设计模式初步摸索(简单工厂模式)
2017-08-11 11:55
281 查看
简单工厂模式大意:通过工厂能够生产不同的产品对象。利用一个单独的类创建不同类的实例化对象,所以简单工厂模式也算设计模式中创建型的一种,这个单独的类就是工厂类,能够实例化出不同类型的对象,如果我们需要什么类型的对象,可以通过工厂类获取,而不需要自己实例化,暂时理解为分门别类,统一管理的方式。
理解场景:每个人都需要穿鞋,古代人穿鞋大都需要自己做,穷人穿草鞋,富人穿布鞋,随着工业化的发展,现代人少有人自己纳鞋,而是直接购买,购买的鞋来自于工厂,为了满足市场不同的需求,工厂可以生产出各式各样的鞋(比如说莆田0.0),可生产“nike“,”adidas“,”Vans“,”CONVERSE”等。或许这就能体现简单工厂模式的优点吧。
1.个体和鞋工厂分工明确,这是低耦合的特点。
2.只需要一个工厂,就可以满足N多人穿鞋的需求。
3.很明显,鞋厂会适应各种人品味需求而增加鞋的种类,改变鞋的款式。而个人想做出自己想要的鞋显然不现实,这是良好的可扩展性。
简单工厂模式实现原理:
代码:
总结:简单工厂模式三要素:抽象类角色,具体产品角色,工厂类角色。
心得:学习设计模式要深入实践才能深刻明白其中的原理和使用方法。先大概了解设计模式的思想,在后面的漫漫长路中细细去体会。
理解场景:每个人都需要穿鞋,古代人穿鞋大都需要自己做,穷人穿草鞋,富人穿布鞋,随着工业化的发展,现代人少有人自己纳鞋,而是直接购买,购买的鞋来自于工厂,为了满足市场不同的需求,工厂可以生产出各式各样的鞋(比如说莆田0.0),可生产“nike“,”adidas“,”Vans“,”CONVERSE”等。或许这就能体现简单工厂模式的优点吧。
1.个体和鞋工厂分工明确,这是低耦合的特点。
2.只需要一个工厂,就可以满足N多人穿鞋的需求。
3.很明显,鞋厂会适应各种人品味需求而增加鞋的种类,改变鞋的款式。而个人想做出自己想要的鞋显然不现实,这是良好的可扩展性。
简单工厂模式实现原理:
代码:
package cn.simplefactory; //抽象类角色 interface Shoes{ public void showDiffer(); } //具体产品角色 class Vans implements Shoes{ @Override public void showDiffer(){ System.out.println("这是Vans!"); } } class CONVERSE implements Shoes{ @Override public void showDiffer(){ System.out.println("这是匡威!"); } } //工厂角色 class ShoesFactory{ public static Shoes getshoesType(String str){ if(str.equals("vans")){ return new Vans(); } else if(str.equals("converse")){ return new CONVERSE(); } else return null; } } public class TestShoes { public static void main(String[] args) { Shoes s1 = ShoesFactory.getshoesType("vans"); s1.showDiffer(); Shoes s2 = ShoesFactory.getshoesType("converse"); s2.showDiffer(); } }
总结:简单工厂模式三要素:抽象类角色,具体产品角色,工厂类角色。
心得:学习设计模式要深入实践才能深刻明白其中的原理和使用方法。先大概了解设计模式的思想,在后面的漫漫长路中细细去体会。
相关文章推荐
- Java设计模式(一) 简单工厂模式不简单
- Java设计模式(三):工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)
- java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- java设计模式(1):简单工厂模式(Simple Factory)
- JAVA设计模式 - 简单工厂模式、工厂方法模式、抽象工厂模式
- Java 设计模式01 - 简单工厂模式
- Java设计模式2:简单工厂模式
- Java设计模式之简单工厂模式
- java设计模式——简单工厂模式
- Java设计模式--简单工厂模式与抽象工厂模式
- Java设计模式之工厂模式之简单工厂模式(通过反射)
- Java设计模式(一) 简单工厂模式不简单
- JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
- java23种设计模式-----简单工厂模式、工厂方法模式、抽象工厂模式的区别
- java设计模式二(简单工厂模式)
- Java设计模式圣经连载(01)-简单工厂模式
- java设计模式初步探索(策略模式)
- java设计模式之简单工厂模式
- java设计模式-工厂模式(简单工厂模式和工厂方法模式)