我正在试图弄清楚Web应用程序需要什么层才能牢固地分离关注点。 我正在使用经常与彼此交互的实体来处理大中型应用程序。
到目前为止,我有以下
实体层 - 为业务实体建模并在整个应用中使用
存储库层 - 处理持久性以及与数据库之间的所有调用
服务层 - 处理业务需求
控制器层 - 处理请求并仅调用服务
查看图层
此外,每个实体都有专用的存储库和专用服务
我的问题如下:
如果一个实体服务引用另一个实体服务,或者是否有新服务未绑定到使用实体服务的实体,这是否可以?(这是一个更广泛的问题:层之间的交互是什么)< / p>
在存储库和服务之间是否存在另一层(如管理器)(专用于实体,包含与该实体相关的业务逻辑,就像原始设置中的服务一样,但仅用于其他服务)和一个引用管理层的服务层?(这听起来过于复杂,但如果某人有一些关于管理层和服务层的参数请告诉我)
View Layer是否可以访问Controller引用的服务?(为了检索某些列表,或者是否需要控制器提供视图的所有信息?
谢谢
PS:在我阅读答案时,我可能会问更多问题,如果我认为它们很重要,我会更新主要帖子。 PS2:如果您能就此问题分享任何个人经验,我将不胜感激。答案 0 :(得分:1)