實作 Swift 設計模式
  • 前言
  • Swift 設計模式
  • 入門 - 開始
  • 設計模式之王 - MVC
    • 如何使用 MVC 模式
  • 簡易工廠模式 - Simple Factory
    • 如何使用簡易工廠模式
  • 外觀模式 - Facade
    • 如何使用外觀模式
  • 裝飾者模式 - Decorator
    • 擴展
    • 如何使用擴展
    • 委派
    • 如何使用委派模式
  • 單例模式 - Singleton
    • 如何使用單例模式
  • 適配器模式 - Adapter
    • 如何使用適配器模式
  • 觀察者模式 - Observer
    • 通知 - Notification
    • 鍵值觀察 - KVO
    • 事件流 - Event Flow
  • 設計模式之神話 - MVP
    • 如何使用 MVP 模式
    • 最後的潤色
  • 入門 - 小結
Powered by GitBook
On this page

Was this helpful?

簡易工廠模式 - Simple Factory

從設計模式的類型來說,簡單工廠模式是屬於創建性模式,又叫做靜態工廠方法模式,但不屬於23中GOF設計模式之一,簡單的工廠模式是由一個工廠類別決定建立出哪一種產品類別的實體,簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現。

那麼到底什麼是簡單工廠模式?

我們早上上班想要喝咖啡提神,Lion 咖啡滿足了我們的需求,這裡的 Lion 咖啡就是一個簡單的工廠,在現實生活中工廠是負責生產產品的,,同樣在設計模式中,簡單工廠模式我們也可以理解為負責生產對象的一個類別,我們平常開發中,當建構一個實體時,此時該類別就依賴與這個實體,也就是她們之間的耦合度高,當需求變化時,我們就不得不去修改此類別的原始碼,此時我們可以運用 OOP 很重要的原則去解決這一問題,該原則就是封裝改變,自然也就要找到改變的原始碼,然後把改變的原始碼用類別來封裝,這樣的一種思路也就是我們簡單工廠模式的實現方式了。

import Foundation

class LionCoffee {
    static func createAmeraCoffee() -> LionCoffee {
        return LionCoffee(aType: "美式咖啡")
    }

    static func createNateaCoffee() -> LionCoffee {
        return LionCoffee(aType: "拿鐵咖啡")
    }

    static func createMoTeaCoffee() -> LionCoffee {
        return LionCoffee(aType: "抹茶咖啡")
    }

    private var mType:String
    init(aType:String){
        mType = aType
    }
}
Previous如何使用 MVC 模式Next如何使用簡易工廠模式

Last updated 6 years ago

Was this helpful?