小编Jun*_*uki的帖子

在哪个层实现缓存?

我正在使用Service Stack的框架开发Rest API.所有层都是分开的,因此我们可以进行DAL模拟以进行业务逻辑层单元测试.

我正在使用控制反转来配置缓存:

container.Register<ICacheClient>(new MemoryCacheClient());

哪个MemoryCacheClientICacheClient用几个方法实现的简单类.

这里有一个问题:通过这种控制反转包含对缓存的调用的最佳层是什么?

  • 它可能在BLL中,但它不会给单元测试带来问题吗?

  • 它可能在DAL,知道我将不得不失去IOC?而且,在这种情况下,我将依赖于webserver的缓存,这可能是错误的.

  • 它可能在Web界面中,知道我可以在这里有一些逻辑,甚至失去一些功能?

  • 它可能介于Web界面和BLL之间,创建了一个新层?

我经常搜索并阅读一些文章,但没有幸运:

谢谢

caching mocking inversion-of-control layer

8
推荐指数
1
解决办法
4011
查看次数

标签 统计

caching ×1

inversion-of-control ×1

layer ×1

mocking ×1