加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – MVC服务层 – 每个控制器或其他设计的服务?

发布时间:2020-12-16 06:26:54 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET MVC项目,它有一个数据层(NHibernate和Repository模式),一个服务层和一个Web(MVC)层. 目前,对于Web层中的每个Controller,我在服务层中都有一个匹配的服务类.这很好,虽然服务类之间存在一些重复的接口和逻辑(多个类需要一个GetThingById()方法
我有一个ASP.NET MVC项目,它有一个数据层(NHibernate和Repository模式),一个服务层和一个Web(MVC)层.

目前,对于Web层中的每个Controller,我在服务层中都有一个匹配的服务类.这很好,虽然服务类之间存在一些重复的接口和逻辑(多个类需要一个GetThingById()方法),而我的Home Controller使用多个服务(或者在专用的主页中会有大量的重复)控制器).

有没有更好的方法来构建它?

解决方法

复制通常意味着重构:将重复的逻辑提取到服务中,打破一切(单一责任原则),直到不再有重复.

然后,您可以简单地将多个服务注入控制器(就像您已经为家庭控制器所做的那样),或者您可以创建组合多个服务的类(另请参见Delegation,Facade,Decorator模式和refactoring to aggregate services)并注入这些服务.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读