gpt4 book ai didi

asp.net-mvc - MVC 服务层 - 每个 Controller 的服务或其他设计?

转载 作者:行者123 更新时间:2023-12-05 01:08:05 25 4
gpt4 key购买 nike

我有一个带有数据层(NHibernate 和存储库模式)、服务层和 Web (MVC) 层的 ASP.NET MVC 项目。

目前,对于 Web 层中的每个 Controller ,我在服务层中都有一个匹配的服务类。这很好用,尽管服务类之间存在一些接口(interface)和逻辑重复(多个类需要 GetThingById() 方法)并且我的 Home Controller 使用多个服务(或者在专用 Home 中会有大量重复 Controller )。

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

最佳答案

重复通常意味着 重构 :将重复的逻辑提取到它的服务中,分解所有内容(单一责任原则),直到不再有重复。

然后,您可以简单地将多个服务注入(inject)您的 Controller (就像您已经为您的家庭 Controller 所做的那样),或者您可以创建组合多个服务的类(另见 DelegationFacadeDecorator 模式和 refactoring to aggregate services )并注入(inject)那些。

关于asp.net-mvc - MVC 服务层 - 每个 Controller 的服务或其他设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17615200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com