国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

設計模式------2.簡單工廠模式

SunZhaopeng / 2623人閱讀

摘要:簡單工廠模式不屬于種設計模式之一,簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現。總結如果操作工廠類也就是需求在相當長的一段時間不會變更的話,那么此模式就有使用的必要了。后面會看到簡單工廠模式的便利之處

定義:一個工廠對象決定創建出哪一種產品類的實例。簡單工廠模式不屬于GOF23種設計模式之一,簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現。

/**
 * 操作工廠類
 */
class OperationFactory {
    /**
     * 
     * @param operate 根據傳進來的操作符,選擇實例化響應的對象
     * @return
     */
    public static Operation createOperate(String operate){
        Operation oper = null;
        switch(operate){
            case "+":
                oper = new OperationAdd();
                break;
            case "-":
                oper = new OperationSub();
                break;
            case "*":
                oper = new OperationMul();
                break;
            case "/":
                oper = new OperationDiv();
                break;
        }
        return oper;
    }
}

/**
 * 操作抽象類,各種算數操作需要繼承此類,并實現getResult方法
 */
public abstract class Operation {
    abstract Integer getResult(int a, int b);
}

class OperationAdd extends Operation {
    @Override
    Integer getResult(int a, int b) {
        return a+b;
    }
}

class OperationSub extends Operation {
    @Override
    Integer getResult(int a, int b) {
        return a-b;
    }
}

class OperationMul extends Operation {
    @Override
    Integer getResult(int a, int b) {
        return a*b;
    }
}

class OperationDiv extends Operation {
    @Override
    Integer getResult(int a, int b) {
        return a/b;
    }
}

/**
 * 測試操作不再贅述
 */
public static void main(String[] args) {
        Operation oper = OperationFactory.createOperate("+");
        oper.getResult(10, 5);
}

優點:能根據需要(傳入的參數)創建對象。
缺點:很明顯,如果有需求變更,便需要更改操作工廠類,需要再加一個“case”,再增加一個具體的操作類,違反了開放-封閉原則;而且,如果有相當多的分支的話,會導致代碼不易閱讀的不良后果。
總結:如果操作工廠類(也就是需求)在相當長的一段時間不會變更的話,那么此模式就有使用的必要了。(后面會看到簡單工廠模式的便利之處)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70570.html

相關文章

  • 工廠模式-設計模式

    摘要:不過怎么來說工廠方法模式是簡單工廠模式的升級版。其次,工廠模式是一種典型的解耦模式,迪米特法則在工廠模式中表現的尤為明顯。 工廠模式想必大家在開發過程中會經常用到,顧名思義其就是作為一個工廠用來生產產品的,下面來簡單介紹幾種常見的工廠模式。 0x01 簡單工廠模式 1、類圖結構showImg(/img/bVFf1t?w=531&h=278); 2、角色分類 工廠類:其內部具有一點的判...

    HtmlCssJs 評論0 收藏0
  • 設計模式學習筆記:工廠模式

    摘要:二簡單工廠模式組成工廠類工廠模式的核心,通過調用它來實現其他類的功能。三工廠方法模式利用工廠方法模式可以有效解決簡單工廠模式破壞開閉原則的問題。 一、概念 1、工廠模式分為三類:(1)簡單工廠模式:一個工廠創建所有產品(2)工廠方法模式:一個工廠方法創建一個產品(3)抽象工廠模式:一個工廠方法創建一類產品 2、創建型模式這種模式是指將實例的創建和使用分離開來,隱藏類實例的創建細節,外界...

    luxixing 評論0 收藏0
  • Java設計模式之(二)——工廠模式

    摘要:需要說明的是在設計模式一書中將工廠模式分為兩類工廠方法模式與抽象工廠模式,將簡單工廠模式看為工廠方法模式的一種特例,兩者歸為一類。工廠模式的作用工廠模式的作用封裝變化創建邏輯有可能變化,封裝成工廠類之后,創建邏輯的變更對調用者透明。1、什么是工廠模式Define an interface for creating an object,but let subclasses decide whi...

    Doyle 評論0 收藏0
  • 深入理解工廠模式

    摘要:工廠模式的分類簡單工廠模式,又稱靜態工廠方法模式。工廠方法模式,又稱多態性工廠模式或虛擬構造子模式抽象工廠模式,又稱工具箱或模式。具體產品角色抽象工廠模式所創建的任何產品對象都是某一個具體產品類的實例。 Java面試通關手冊(Java學習指南,歡迎Star,會一直完善下去,歡迎建議和指導):https://github.com/Snailclimb/Java_Guide 歷史回顧: 深...

    zhou_you 評論0 收藏0
  • 設計模式2.創建型模式

    摘要:又稱為多態性工廠模式或虛擬構造子模式。簡單工廠模式簡單工廠模式簡單工廠模式又稱為靜態工廠方法模式,它屬于類創建型模式。多態性設計工廠方法模式之所以又被稱為多態工廠模式,是因為所有的具體工廠類都具有同一抽象父類。 點擊進入我的博客 2.1 簡單工廠模式 2.1.1 工廠模式的幾種形態 工廠模式主要用一下幾種形態: 簡單工廠(Simple Factory):專門定義一個類來負責創建其他...

    Nekron 評論0 收藏0
  • 工廠模式理解了沒有?

    摘要:我認為按書上的順序比較好理解因為簡單靜態工廠模式是在工廠方法模式上縮減,抽象工廠模式是在工廠方法模式上再增強。所以我就先講工廠方法模式了。抽象工廠模式抽象工廠模式就比較復雜了,我們一般的應用都寫不到。 前言 只有光頭才能變強 回顧前面: 給女朋友講解什么是代理模式 包裝模式就是這么簡單啦 單例模式你會幾種寫法? 昨天寫了單例模式了,今天是時候寫工廠模式啦~ 工廠模式我個人認為其實比...

    蘇丹 評論0 收藏0

發表評論

0條評論

SunZhaopeng

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<