1. 程式人生 > 實用技巧 >Idea修改Commit Message記錄

Idea修改Commit Message記錄

模式定義

簡單工廠模式:又稱為靜態工廠方法模式,屬於類的建立型模式。在簡單工廠模式中,可以根據引數的不同返回不同類的例項,簡單工廠模式單獨建立一個工廠類負責建立其他類的例項。被建立的例項具有共同的父類。

模式結構

模式分析

簡單工廠模式不屬於Gof 23個基本設計模式,但可以作為學習Gof的工廠模式的一個先導。簡單工廠模式的要點在於,當你需要什麼,只要傳入一個正確的引數,就可以獲取你想要的例項物件,而無需知道其建立細節。

優點:

(1)工廠類中含有必要的判斷邏輯,使用者可以免除建立物件的責任,它提供了一個專門的工廠類。

(2)使用者無需知道具體的產品類的類名,只需知道產品類對應的引數,減少使用者的記憶量。

(3)在一定程度上,提高系統的靈活性。

缺點:

(1)一旦工廠類無法執行,會導致整個系統癱瘓

(2)會增加系統的類數,在一定程度上增加了系統的複雜度和理解難度

(3)系統擴充套件困難,產品型別較多時,工廠類的邏輯會更復雜,不利於系統的擴充套件和維護。

電視案例

TV介面類

package com.zck.simpleFactory;

public interface TV {
    public void play();
}

HaierTV類

package com.zck.simpleFactory;

public class HaierTV implements TV {

    
public void play() { System.out.print("海爾電視正在播放\n"); } }

HisenseTV類

package com.zck.simpleFactory;

public class HisenseTV implements TV {

    public void play() {
        System.out.print("海信電視正在播放\n");
    }

}

工廠類

package com.zck.simpleFactory;

public class TVFactory {
    public
static TV produceTV(String brand){ if (brand.equalsIgnoreCase("haier")) { return new HaierTV(); } else if (brand.equalsIgnoreCase("hisense")) { return new HisenseTV(); }else{ return null; } } }

測試類

package com.zck.simpleFactory;

public class Client {

    public static void main(String[] args) {
        TV tv1,tv2;
        tv1 = TVFactory.produceTV("haier");
        tv1.play();
        tv2 = TVFactory.produceTV("hisense");
        tv2.play();
    }

}

測試結果