我正在使用Service Stack的框架开发Rest API.所有层都是分开的,因此我们可以进行DAL模拟以进行业务逻辑层单元测试.
我正在使用控制反转来配置缓存:
container.Register<ICacheClient>(new MemoryCacheClient());
哪个MemoryCacheClient是ICacheClient用几个方法实现的简单类.
这里有一个问题:通过这种控制反转包含对缓存的调用的最佳层是什么?
它可能在BLL中,但它不会给单元测试带来问题吗?
它可能在DAL,知道我将不得不失去IOC?而且,在这种情况下,我将依赖于webserver的缓存,这可能是错误的.
它可能在Web界面中,知道我可以在这里有一些逻辑,甚至失去一些功能?
它可能介于Web界面和BLL之间,创建了一个新层?
我经常搜索并阅读一些文章,但没有幸运:
http://www.velocityreviews.com/forums/t639532-3-tier-design-and-cache-for-asp-net-3-5-a.html
谢谢