java設計模式初步摸索(簡單工廠模式)

簡單工廠模式大意:通過工廠能夠生產不同的產品對象。利用一個單獨的類創建不同類的實例化對象,所以簡單工廠模式也算設計模式中創建型的一種,這個單獨的類就是工廠類,能夠實例化出不同類型的對象,如果我們需要什麼類型的對象,可以通過工廠類獲取,而不需要自己實例化,暫時理解爲分門別類,統一管理的方式。

理解場景:每個人都需要穿鞋,古代人穿鞋大都需要自己做,窮人穿草鞋,富人穿布鞋,隨着工業化的發展,現代人少有人自己納鞋,而是直接購買,購買的鞋來自於工廠,爲了滿足市場不同的需求,工廠可以生產出各式各樣的鞋(比如說莆田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();
    }

}

總結:簡單工廠模式三要素:抽象類角色,具體產品角色,工廠類角色。

心得:學習設計模式要深入實踐才能深刻明白其中的原理和使用方法。先大概瞭解設計模式的思想,在後面的漫漫長路中細細去體會。

發佈了56 篇原創文章 · 獲贊 50 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章