我正在使用 Service Stack 的框架开发一个 Rest API。所有层都是分开的,因此我们可以为业务逻辑层单元测试制作 DAL 模拟。
我正在使用控制反转配置缓存:
container.Register<ICacheClient>(new MemoryCacheClient());
Where是一个用几个方法MemoryCacheClient
实现的简单类。ICacheClient
这里有一个问题:通过这种控制反转包含对缓存的调用的最佳层是什么?
它可能在 BLL 中,但它不会给单元测试带来问题吗?
它可能在 DAL 中,知道我将不得不失去 IOC?而且,在这种情况下,我将依赖网络服务器的缓存,这可能是错误的。
它可能在 Web 界面中,知道我可以在这里有一些逻辑,甚至失去一些功能?
它可能在 Web 界面和 BLL 之间,创建一个新层?
我搜索了很多并阅读了一些文章,但没有幸运:
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
谢谢