一角獣は夜に啼くスマートフォン用の表示で見る一角獣は夜に啼くただの日記です。思ってることとか考えたこととか適当に書きます。いうブログもやってます。使った最近の個人的な取り組みを書き残しておきます。試してなかなかしっくりこず、最終的に自分で書いてみてます。リレーショナルデータベースの思想にのっとるつもりで、インターフェイスに拡張関数として定義します。アクセスの処理は拡張関数を持つインターフェイスの実装をリフレクションで提供する、という感じです。リレーションの各属性を持つタプルを表すクラスを定義。リレーションを表すインターフェイスを定義。リレーションの実態とリレーションに対する操作を定義。アクセスのコンテキストを定義。操作を提供するインターフェイス。以下のような感じでインターフェイスの実装を生成できる。アクセスの実装を軽く書いてるというぐらいなのですが、オンメモリでリレーションの実装を提供する仕組みも作るつもりです。アクセスを含むユニットテストが書けるようになって便利。リポジトリをインターフェイスにしてテスト時にはオンメモリの実装を提供するなどすることでテストしやすくするのと同様のことをもう少し低レイヤで実現したい。ログインのエンドポイントをはやすことができる仕組みも書きました。ログイン成功時の処理。通信に失敗した時の処理。見つからなかった時の処理。ログインを実装したい人の参考になれば。(そのうちライブラリ化するつもりではある。アプリケーションを書いています。