1. 程式人生 > 實用技巧 >JAVA設計模式(二)——簡單工廠模式

JAVA設計模式(二)——簡單工廠模式

工廠模式就是建立一個工廠類,對實現了同一介面的一些類進行例項的建立,將建立物件的過程交給工廠類(我們舉一個傳送郵件和簡訊的例子):

模式名稱 優點   缺點 使用場景
簡單工廠模式 通過使用工廠類,外界可以從直接建立具體產品物件的尷尬局面擺脫出來,僅僅需要負責“消費”物件就可以了。而不必管這些物件究竟如何建立及如何組織的.明確了各自的職責和權利,有利於整個軟體體系結構的優化。 工廠類集中了所有例項的建立邏輯,違反了高內聚責任分配原則,如果需要新增新的類,則就需要改變工廠類了。

①工廠類負責建立的物件比較少

②客戶只知道傳入工廠類的引數,對於如何建立物件(邏輯)不關心

首先定義一個介面類Sender,並建立2個實現類四號線Sender介面,程式碼如下:

public interface Sender {
    void Send();
}

// 郵件傳送
public class MailSender implements Sender {
    public void Send() {
        System.out.println("this is MailSender");
    }
}

// 簡訊傳送
public class SmsSender implements Sender {
    public void
Send() { System.out.println("this is SmsSender"); } }

建立工廠類ManySendFactory

public class SendFactory {
    // 根據傳入型別,去獲取對應的實列
    public Sender getSender(String type) {
        if ("mail".equals(type)) {
            return new MailSender();
        } else if ("sms".equals(type)) {
            
return new SmsSender(); } return null; } }

使用方法:

SendFactory factory = new SendFactory(); //建立工廠類
Sender sender = factory.getSender("sms"); // 根據型別獲取對應實列
sender.Send();