Swift: デザインパターン > 生成パターン > Singleton

オブジェクト設計において、定石となる手法をパターン化したものを デザインパターン といいます。
デザインパターンをきちんと勉強していない人でも、Web のおかげで知らず知らずのうちに使って(コピペして)その恩恵を享受しています。

自分自身パターン概要を一読しただけで、あいまいな使い方をしているものが多く、この際勉強を兼ねて GOF 23 パターンのなかでよく利用するものを Swift3 で記述していきたいと思います。

今回は Swift で避けて通ることができない、有名な 生成パターンSingleton について説明します。

目次

  • [生成] Singleton パターン
  • まとめ

[生成] Singleton パターン

あるオブジェクトが単一であること(オブジェクトが複数生成されていないこと)を保証するパターン。

サンプルコード

Singleton.swift

final class Singleton {
    
    var string = ""
    static let sharedInstance = Singleton()
    
    private init() {
        
    }
}

ViewController.swift

override func viewDidLoad() {
        super.viewDidLoad()

        let singleton = Singleton.sharedInstance
        singleton.string = "This is Singleton!"
        print(singleton.string)
}

実行結果

This is Singleton!

まとめ

初見で意味がわからなくても、サンプルコードを繰り返しコーディングしているうちに、突然ある時期を境に理解できる日が来ます。何事も理解するまで続けることができるかどうかが、その人の適正だったり才能なのかもしれません。

次回は 生成パターンPrototype パターンを説明したいと思います。

この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents