しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Swiftで学ぶデザインパターン12 (Abstract Factoryパターン)

今回はAbstract Factoryパターンについて書いていきます。

デザインパターンとは

デザインパターンとはソフトウェア開発の設計方法の事です。
オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介されています。

Abstract Factoryパターンとは

オブジェクトの生成処理を分割するパターンです。
そうすることで、開発者は何のオブジェクトを使っているかを知らずに開発する事ができます。

SwiftでのAbstract Factoryパターンの実装方法

Abstract Factoryパターンの実装例は下の通りです。
createの中でObjectAObjectBを生成しています。
そうすることで開発者はObjectAObjectBの存在を意識せずに開発する事ができます。

enum Type {
    case A
    case B
}

func create(type: Type) -> Object {
    switch type {
    case .A: return ObjectA()
    case .B: return ObjectB()
    }
}

protocol Object {
    func call()
}

class ObjectA: Object {
    func call() {
        print("A")
    }
}

class ObjectB: Object {
    func call() {
        print("B")
    }
}

create(.A).call()
create(.B).call()

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン