今日からデザインパターンをSwiftで実装するとどうなるかという記事を書いていこうと思います。
最初はデザインパターンの中でも非常に有名なSingleton パターンについて書こうと思います。
デザインパターンとは
デザインパターンとはソフトウェア開発の設計方法の事です。
『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介されています。
Singleton パターンとは
Singleton パターンとはデザインパターンの1つで、クラスの生成に関するパターンです。
内容としては、特定のクラスのインスタンスを単一にすることでアプリ内の全ての場所から同一インスタンスを参照できると言うものです。
SwiftでのSingleton パターンの実装方法
SwiftでのSingleton パターンは下のように記述します、非常にシンプルですね。
init()をprivateにする事で、複数インスタンスが作られないようにしています。
Swift1.1まではクラス内のstaticが使えなかったためもう少し長かったようですが、クラス内staticが導入されてからは下のように簡単に書けるようになりました。
class SingletonDataManager { private init() {} var value: Int = 0 static let sharedInstance = SingletonDataManager() } SingletonDataManager.sharedInstance.value = 1 print(SingletonDataManager.sharedInstance.value) // 1が出力
Singleton パターンの長所・短所・使いどころ
Singleton パターンの長所としては、簡単にデータの使い回しができる事だと思います。
特定のデータを異なる2つのクラスで使いたい場合等に有効です。
しかしどこからでもアクセスできる事によって、どこから呼ばれているかの把握ができなくなります。
複雑な不具合の原因になりやすいので、注意が必要だと思います。
- 作者: エリックガンマ,ラルフジョンソン,リチャードヘルム,ジョンブリシディース,Erich Gamma,Ralph Johnson,Richard Helm,John Vlissides,本位田真一,吉田和樹
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 1999/10
- メディア: 単行本
- 購入: 21人 クリック: 711回
- この商品を含むブログ (210件) を見る