リアクティブ機構をもたせる」という話をしたいと思います。実現したい要件まずは実現したい要件を定義します。サービスのシステムをベースとして考案します。機能も、一度初期化した情報を使いまわしたいと、たったこれだけです。グローバルで引き回せると嬉しい。利用した認証設計の落とし穴さて、こういった要件を実現する際、みなさんはどういった形で設計するでしょうか。名前空間を用意する方式ではないでしょうか?以下のようなコードです。}}確かにこれ自体も要件は実現できますし、ポピュラーな実装なのでわかりやすいかもしれません。内で独自のライフサイクルが生まれており関係を考慮しづらいことなど、いくつか実装上の課題点があります。入ってくるとテスタビリティの観点でも微妙ですね。ディレクトリ内で分割もしづらいのでなおさらです。依存しない明快な認証の管理を実現しています。使っていても知らない人も多い機能ではないでしょうか。内にて利用が可能です。使えるようになることで、多くの人が体験はしているはずです。オブジェクトへと注入してくれます。ような概念となり、外部注入可能なグローバルオブジェクトというような認識で利用が可能となります。アプリケーション全体で利用可能であるため細心の注意を払う必要はありますが、認証情報を管理する上では非常に有用です。書く場合はこんな感じでしょうか。これを利用することで、アプリケーションのコンテキストとして認証情報を利用することが可能となります。利用できて一件落着......かと思うと、最後に一つ課題が残っています。インスタンスのプロパティではないため、自動的にリアクティブにはなってくれないのです。初期化時にだけ動くようになっていしまいます。あり、ひと呼吸おいてから認証が完了することが少なくありません。いった場合にユーザーがずっと空のままになってしまうのはアプリケーションとして必要な要件を満たせていないことになります。インスタンスの組み合わせです。類似機能は実装可能ですが、こちらがよりわかりやすく記述できるのではないでしょうか。