让我们想象一下下面的轮廓(我假设我们使用ASP.NET MVC,但它并没有多大的这个问题)如何禁止存储库使用?
我们有直接从控制器使用存储库
一些存储库方法需要以某种特定方式处理,组合,缓存等。因此,我们为这些情况创建服务。所以现在应该从服务中访问一些存储库方法,但不是直接访问。控制存储库方法的方法是从正确的地方使用的?
我看到下面的方法:
不要使用存储库,直接在所有 - 使用它们只能从服务(我们甚至可能使仓库内,仅可见服务组装)。但是在这种情况下,我们必须创建仓库方法的包装,甚至可以直接使用仓库中的方法。
但我敢肯定有更有趣的,美丽和实现它灵活的方式...
谢谢你分享你的经验!缺乏“始终使用服务”的建议是,在任何时候都可能出现另一个服务层:) – SiberianGuy
(+1)这个主题有很多灰色区域,我喜欢这个概念。 – used2could