yashigani?.days

週刊少年ジャンプについてだらだら書きます

Lazy stored propertyについて発表しました #関モバ

この間の関西モバイルアプリ研究会#4でLazy stored propertyについて発表しました.

speakerdeck.com

Lazy stored propertyについて大まかな使いドコロと,テスタブルな設計をする際にこいつを使うと依存の注入に使いやすいのではないか,というアイディアについて話しました. 簡単にまとめると,Lazy stored propertyを使えば,初めてアクセスするときまでインスタンスの生成が遅延されるので,それまでにテストの準備ができるよねということです. lazy は最もすきなキーワードなのでめっちゃオススメです!

追記

Twitterで@さんと@さんにimplicitly unwrapped optionalなpropertyをlazyにしたときにnilを代入することで再度初期化処理が走ることを教えていただきました. こういうかんじです.

gist.github.com

optionalの場合は再度初期化されることはありません. ドキュメントにもこういう動作するという記載は特に見つからないので,実装の都合で動作を騙せるのかもしれません.