java设计模式初步摸索(简单工厂模式)

来源:互联网 发布:三六五网络 编辑:程序博客网 时间:2024/06/13 08:52

简单工厂模式大意:通过工厂能够生产不同的产品对象。利用一个单独的类创建不同类的实例化对象,所以简单工厂模式也算设计模式中创建型的一种,这个单独的类就是工厂类,能够实例化出不同类型的对象,如果我们需要什么类型的对象,可以通过工厂类获取,而不需要自己实例化,暂时理解为分门别类,统一管理的方式。

理解场景:每个人都需要穿鞋,古代人穿鞋大都需要自己做,穷人穿草鞋,富人穿布鞋,随着工业化的发展,现代人少有人自己纳鞋,而是直接购买,购买的鞋来自于工厂,为了满足市场不同的需求,工厂可以生产出各式各样的鞋(比如说莆田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();    }}

总结:简单工厂模式三要素:抽象类角色,具体产品角色,工厂类角色。

心得:学习设计模式要深入实践才能深刻明白其中的原理和使用方法。先大概了解设计模式的思想,在后面的漫漫长路中细细去体会。

阅读全文
0 0