91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java簡單工廠模式怎么實現

發布時間:2022-02-23 15:12:22 來源:億速云 閱讀:122 作者:iii 欄目:開發技術

今天小編給大家分享一下Java簡單工廠模式怎么實現的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一、軟件設計模式的概述

軟件設計模式,我們又稱之為設計模式。既然是模式,那么它就是按照一定規律指定的。也正是如此,設計模式就是一套被反復使用、大多數人都知道的、經過整理分類的、前人代碼設計理念和經驗的總結。它存在的目的,就是為了提高代碼的可重用性、可讀性以及可靠性。

二、簡單工廠模式

1、簡述

縱觀人類歷史,工廠從最開始的自產自銷的模式,到后來的農耕社會的小作坊模式,再接著工業改革后的流水線模式,到現在的形成現代化產業鏈模式。同樣的道理,我們的項目代碼也是從簡單到繁雜,逐步迭代而來的。對于調用者而言,卻是越來越來簡單。就像是我們不用考慮工廠是怎么生產東西的,我們只需要購買即可。

按照實際業務場景,我們可以把工廠模式劃分為三種不同的實現方式:簡單工廠模式、工廠方法模式以及抽象工廠模式。

在這里,我們把被創建的對象稱之為“產品”,把創建產品的對象稱之為"工廠"。如果創建的產品很少,只需要一個工廠類就可以完成,那么我們就把這種模式稱之為簡單工廠模式。

2、優缺點分析

優點

  1. 工廠類必須要包含邏輯判斷,用來決定在什么時間創建哪個產品的實例。客戶端就不用承擔直接創建產品對象的責任,可以方便快捷地創建出相應的產品。

  2. 客戶端不需要知道創建具體產品的類名,只要知道相關參數即可。

  3. 可以通過引入配置文件,在不修改客戶端代碼的前提下對具體產品類進行更換或者添加。

缺點

  1. 簡單工廠模式工廠類比較單一,承擔了所有產品的職責。一旦出現異常,那么整個系統將會受到影響。且工廠類代碼會十分的臃腫,違背了高聚合原則。

  2. 使用簡單工廠模式引入新的工廠類,會增加系統的復雜度和理解難度。

  3. 系統擴展的難度較高,添加新產品就不得不修改邏輯。在產品過多的時候,會造成邏輯過于復雜的問題。

  4. 簡單工廠模式使用的是static工廠方法,那么會造成工廠角色無法形成基于繼承的等級結構。

應用場景:簡單工廠模式適用于產品種類較少的情況下。

3、模式的結構和實現

簡單工廠模式的主要角色劃分:

  • 簡單工廠(SimpleFactory):是該設計模式的核心,主要負責實現創建所有實例的內部邏輯。

  • 抽象產品(Product):是簡單工廠創建的所有對象的父類,主要負責描述所有實例的公共接口。

  • 具體產品(ConcreteProduct):是該設計模式的創建目標,

代碼實現:

public class Client {
    public static void main(String[] args) {
    }
    //抽象產品
    public interface Product {
        void show();
    }
    //具體產品:ProductA
    static class ConcreteProduct1 implements Product {
        public void show() {
            System.out.println("具體產品1顯示...");
        }
    }
    //具體產品:ProductB
    static class ConcreteProduct2 implements Product {
        public void show() {
            System.out.println("具體產品2顯示...");
        }
    }
    final class Const {
        static final int PRODUCT_A = 0;
        static final int PRODUCT_B = 1;
        static final int PRODUCT_C = 2;
    }
    static class SimpleFactory {
        public static Product makeProduct(int kind) {
            switch (kind) {
                case Const.PRODUCT_A:
                    return new ConcreteProduct1();
                case Const.PRODUCT_B:
                    return new ConcreteProduct2();
            }
            return null;
        }
    }
}

以上就是“Java簡單工廠模式怎么實現”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青河县| 永宁县| 满城县| 祁阳县| 汝阳县| 汾西县| 赤水市| 金乡县| 济南市| 玉龙| 荆州市| 瓦房店市| 清新县| 淳化县| 西丰县| 惠州市| 大理市| 治多县| 资讯| 安吉县| 清丰县| 泸西县| 原平市| 焦作市| 固镇县| 平度市| 怀宁县| 东乌| 麻江县| 河南省| 义乌市| 婺源县| 二连浩特市| 股票| 巴中市| 资源县| 会昌县| 关岭| 新乡县| 望都县| 秭归县|