Swift におけるシングルトン・staticメソッドとの付き合い方

mono 
Swift・iOSコラム
16 min readNov 30, 2017

--

GoFの23のデザインパターンの1つであるシングルトンに対しての、Swiftとしての付き合い方について思うところをつらつらと書いていきます。ちなみに、記事中盤くらいからが本題です( ´・‿・`)

デザインパターンで有名なGoF本はC++・SmallTalkで書かれていますが、最近のモダンな言語においては23のデザインパターンがそのまま有効かどうかは懐疑的です。本記事ではそのうちシングルトンパターンについて焦点を当てていきます。

シングルトンパターンとは?

最も有名なデザインパターンなはずで多くの方は知っていると思いますがあらためて書くと、シングルトンパターンはインスタンスが1個しか生成されないことを保証したい時に使います。

例えば、iOSアプリでは起動時にまず application(_:didFinishLaunchingWithOptions:) というメソッドが呼び出されますが、この引数の applicationUIApplication.shared というシングルトンプロパティで取得できるものと同一です。

func application(_…

--

--