swiftでデザインパターンを実装

デザインパターンって何

  • デザインパターンとは「設計に関する先人たちの知恵」です。
  • デザインパターンを学習、習得することで、再利用性の高い設計やチーム内での共通言語として使うことができ、開発が捗ります。

今回はシングルトンを実装、シングルトンとは?

  • 今回はシングルトンパターンを実装していきます。
  • シングルトンとはアプリ内でクラスのインスタンスを1つしか生成できないようにし、そのインスタンスに対してアプリのどこからでも参照できるようにする設計手法です。

シングルトンのコード

  • シングルトンが管理するModel
class Song {
 var name: String
 var time: Int

 init(name: String, time: Int) {
  self.name = name
  self.time = time
 }
}
  • シングルトンのMizukiNanaクラスの実装

class SingletonMizukiNana {
    
    static let sharedInstance = SingletonMizukiNana()
    var songs: [Song]
    
    private init() {
        songs = []
    }
}
  • 使い方
let nana = SingletonMizukiNana.sharedInstance

nana.songs.append(Song(name: "POP MASTER", time: 240))
  • モダンな書き方
class Singleton {
 static let sharedInstance: Singleton = {
  let instance = Singleton()
  // ここで初期値セットアップのコードを書きます。
  return instance
 }()

}