[英]Data flow of MVC application architecture
试图在MVC应用程序中验证数据流的方法,我正在清理和简化(在一些重构之后)当前的事情如下图所示(数据流由箭头指示)。 并编写了一些部分来访问跳过图层的存储库服务。 (就像直接访问存储库服务以查找数据的HTML帮助程序一样)
几个问题。
这似乎是一种常见的设计。 不幸的是,我没有足够的经验指出设计的缺陷,因为我目前的项目是我第一次体验这种架构。
如果您说存储库服务是在多个层中访问的,那么您是不是错过了几个箭头? 理想情况下,您不希望从控制器(或Razor帮助程序)访问您的存储库,因为这会使您的代码更紧密地耦合并使您的关注点分散。 但是,这并不是说在多个模块中拥有一些有限的存储库访问权限是很糟糕的。 最佳实践是将这些存储库调用移动到业务逻辑中,然后从那里将其传递给控制器。
我目前使用的ASP.NET项目使用的是非常相似的架构,我们正在取得成功。
似乎已经相当不错了。
通常我有以下分层:
为了最小化依赖性,我对接口进行编程; 其中具体实现由IoC容器注入。 这意味着每个组件也都是非常可测试的。
表示层的控制器很薄,仅使用服务层(和基础结构层)。
这是一种非常灵活的方法,但又足够简单,适用于大多数类型的应用程序。 此外,如果您使用实体框架,您可能想要考虑您是否确实需要存储库和工作单元。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.