我继承了沿着上述项目结构设计的MVC应用程序。应用程序使用Unity框架进行依赖项注入,用户交互按以下顺序上行到数据库View - >控制器 - > ViewModels - >存储库服务 - > ORM - >数据库
基础架构组件在整个应用程序中以不同的层静态使用。
我的问题是,这种结构在最佳实践方面是否遗漏了任何重要组成部分?这本质上是正确的吗?
答案 0 :(得分:1)
您必须将前端部分从后端部分拆分。
前端是MVC应用程序,由模型,视图模型,视图和控制器组成,实际上是您的表示层。
后端包括:
基本上,您的控制器使用“服务”层来查询信息或发送命令。它返回模型,转换为视图模型,然后传递给它们的专用视图。
服务层使用底层应用程序层,该层使用域层和基础架构层来查询信息或执行命令,或执行一些日志记录和跟踪以及其他基础结构问题。
最后,如果您针对接口进行编程并使用IoC容器注入实例,则可以从域中删除基础结构依赖性,并使所有内容都可测试和模块化。