2024-09-18|閱讀時間 ‧ 約 3 分鐘

設計模式入門:簡單工廠模式 Simple Factory Pattern

    當你在開發應用程式時,可能會面臨要建立不同物件的需求。這時候簡單工廠模式(Simple Factory Pattern)是一個很實用的解決方案。今天我們就來用特斯拉汽車工廠的例子來解釋這個概念。 什麼是簡單工廠模式? 簡單工廠模式的核心思想是:將物件的建立過程封裝起來,客戶端(也就是使用者)只需要知道自己想要什麼產品,至於產品的具體建立過程,則交由工廠來處理。這樣做的好處是當你需要不同的物件時,不用每次都自己動手,只要告訴工廠就好了。 想像一下特斯拉的工廠,這個工廠能夠根據不同的需求,生產出不同車型的汽車,如 Model 3、Model S、Model X 和 Model Y。每當你需要某款車型時,只需要告訴工廠你的需求,工廠會自動生產並交付。這樣的方式不僅讓流程變得簡單,還避免了重複的手動操作。 簡單工廠模式在特斯拉汽車工廠的應用 在沒有工廠模式的情況下,每次你想要建立不同的車型,就得手動寫一大堆程式碼。假如在開發一個應用程式,每次需要新增一款新車型時,你都必須修改多處程式碼,這樣不僅容易出錯,還非常浪費時間。 然而透過簡單工廠模式,你只需要告訴工廠:「我需要 Model 3」,工廠就會自動生成 Model 3 的物件。如果哪天特斯拉推出了新的車型,比如 Model Z,你只需要在工廠裡新增對 Model Z 的支援即可,整個流程變得輕鬆且高效。 簡單工廠模式的優缺點 簡單工廠模式的優點是簡單易用,只要告訴工廠你需要什麼,工廠就能幫你生產。程式碼集中處理,簡化了邏輯也讓未來的擴展變得簡單。未來如果新增產品,只需要修改工廠內部邏輯,使用者端的程式碼不受影響。 簡單工廠模式缺點是複雜度隨產品數量增加,如果工廠需要處理的產品越來越多,工廠類別的邏輯也會變得越來越複雜,違背了「單一職責原則」。這會讓維護變得困難。 總結一下,簡單工廠模式就像是特斯拉的自動化生產線,它能夠快速且有效地生產各種不同的產品。當我們應用這個模式到程式設計中時,不僅減少了客戶端的複雜度,也增加了靈活性。下次當你需要建立多種類型的物件時,不妨考慮使用簡單工廠模式來簡化你的程式碼!


    為了更好地掌握設計模式的精髓,您可以參考我在iThome鐵人賽中發表的系列文章,其中提供了許多實用範例。
    https://ithelp.ithome.com.tw/articles/10353329

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.