私はService Stackのフレームワークを使ってRest APIを開発しています。すべてのレイヤーが分離されているため、ビジネスロジックレイヤーの単体テスト用にDALモックを作成できます。どのレイヤでキャッシュが実装されていますか?
私は制御の反転でキャッシュを設定しています:
MemoryCacheClient
は、いくつかの方法で
ICacheClient
を実装する単純なクラスです
container.Register<ICacheClient>(new MemoryCacheClient());
。
ここに質問があります:コントロールの反転によってキャッシュへの呼び出しを含める最善のレイヤーは何ですか?
これはBLLにある可能性がありますが、単体テストに問題はありませんか?
私はIOCを失わなければならないことを知って、DALにいる可能性がありますか?そして、この場合、私はWebサーバーのキャッシュに依存しますが、それは間違っている可能性があります。
私はここでいくつかのロジックを持つことができ、いくつかの機能を失う可能性があることを知って、Webインターフェイスにすることができますか?
WebインターフェイスとBLLの間に新しいレイヤが作成される可能性がありますか?
私は多くのことを検索し、いくつかの記事を読んで、ない幸運としました:
Help with debate on Separation of concerns (Data Access vs Business Logic)
http://www.velocityreviews.com/forums/t639532-3-tier-design-and-cache-for-asp-net-3-5-a.html
- http://forums.asp.net/t/1795015.aspx/1
ありがとうございました