タグ

ブックマーク / qiita.com/taketo1024 (1)

  • Swift で Phantom Type (幽霊型) - Qiita

    社内の「Scala 勉強会」で Phantom Type (幽霊型) という厨二心をくすぐる感じのデザインパターンを教えてもらったので、同じことを Swift でもやってみました。 インスタンスの状態を変数ではなく 型パラメータ として持つことで、状態チェックを実行時ではなく コンパイル時 に行えるというイカしたテクニックです。 class Status{} class NotReady: Status{} class Ready: Status{} class Something<T: Status> { static func createInstance() -> Something<NotReady> { return Something<NotReady>() } func readify() -> Something<Ready> { return Something<Read

    Swift で Phantom Type (幽霊型) - Qiita
    Dryad
    Dryad 2015/11/06
    コメント欄がうける。
  • 1