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