<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                `1. 定義` > 簡單工廠模式(Simple Factory Pattern):專門定義一個類(工廠類)來負責創建其他類的實例。可以根據創建方法的參數來返回不同類的實例,被創建的實例通常都具有共同的父類。 簡單工廠模式又稱為靜態工廠方法(Static Factory Method)模式,它屬于類創建型模式。 `2. 適用場景` >**通過工廠創建對象,并且根據傳入參數決定具體子類對象的做法,就是簡單工廠模式** 如果我們希望將一些為數不多的類似的對象的創建和他們的創建細節分離開,也不需要知道對象的具體類型,可以使用簡單工廠模式。 >舉個形象點的例子:在前端開發中,常常會使用外觀各式各樣的按鈕:比如有的按鈕有圓角,有的按鈕有陰影,有的按鈕有邊框,有的按鈕無邊框等等。但是因為同一種樣式的按鈕可以出現在項目的很多地方,所以如果在每個地方都把創建按鈕的邏輯寫一遍的話顯然是會造成代碼的重復(而且由于業務的原因有的按鈕的創建邏輯能比較復雜,代碼量大)。 >那么為了避免重復代碼的產生,我們可以將這些創建按鈕的邏輯都放在一個“工廠”里面,讓這個工廠來根據你的需求(傳入的參數)來創建對應的按鈕并返回給你。這樣一來,同樣類型的按鈕在多個地方使用的時候,就可以只給這個工廠傳入其對應的參數并拿到返回的按鈕即可。 ## **成員與類圖** ### **成員** 簡單工廠模式的結構比較簡單,一共只有三個成員: * 工廠(Factory):工廠負責實現創建所有產品實例的邏輯 * 抽象產品(Product):抽象產品是工廠所創建的所有產品對象的父類,負責聲明所有產品實例所共有的公共接口。 * 具體產品(Concrete Product):具體產品是工廠所創建的所有產品對象類,它以自己的方式來實現其共同父類聲明的接口。 下面通過類圖來看一下各個成員之間的關系: ### **模式類圖** ![](https://img.kancloud.cn/75/31/753100875d06346b46d643175b6188c1_666x465.png) 簡單工廠模式類圖 > 從類圖中可以看出,工廠類提供一個靜態方法:通過傳入的字符串來制造其所對應的產品。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看