asp.net-mvc – 当注入服务或控制器的依赖关系太多时,重构策略
我有一个ASP.NET MVC 1应用程序使用NHibernate和城堡温莎为IoC.控制器注入了服务类,这些服务类处理应用程序所需的所有逻辑和操作.服务类注入了存储库.每个存储库处理单个对象.对象通过NH映射到DB表.我试图在服务和控制器之间保持一对一的关系,但是一些服务在多个控制器中使用. 问题在于,一些服务现在具有10-15个存储库的依赖关系.系统具有例如发票组件,其中某些操作取决于用户,客户,工单,工单订单项,发票,发票行项目,税收等. 当涉及到依赖性超负荷时,人们使用什么策略来有效地重构?我正在考虑将一个服务分成许多服务,并删除服务和控制器之间的1对1尝试.但是随后控制器级别的依赖将会增加.先前的建议可以将一个控制器分成多个控制器,但我不认为这样做是除非你将视图分解成部分视图?我意识到这是一个广泛的问题,但我更多地寻找指导而不是确切的答案.随意提供链接到文章或类似重构的例子. 解决方法你应该是 refactor to Facade Services,它涉及到一个更细粒度的新服务的滑动,这些服务是编排细粒度的服务.目前,您的控制器正在做太多精细的工作.FWIW第06章第6章包含了这个过程的一个例子,它还涉及到一些你可以做的心理练习,以确定要分组的合适的服务集群. 请记住,特定服务可以是多个群集的成员.这基本上只是表示这是应用程序中的中心服务. (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-4 – MVC4 RC脚本捆绑很慢
- asp.net 将一个图片以二进制值的形式存入Xml文件中的实例代
- 为ASP.NET应用程序实现后台服务的最佳方法是什么?
- asp.net-mvc – 是否有一个ASP MVC与JSTL标签等效?
- asp.net – 为不同项目中的所有Web应用程序网页添加命名空间
- asp.net中使用repeater和PageDataSource搭配实现分页代码
- asp.net – “线程被中止了什么”. ‘SNIReadSync(SNI_Conn
- asp.net – 我应该使用WebMatrix构建一个真实世界的网站吗?
- asp.net webservice返回json的方法
- 如何通过Asp.net WebAPI中的异常过滤器传递内容?
- 如何在ASP.NET Web应用程序中打开一个SectionGro
- asp.net-mvc-3 – 局部视图中的RenderSection
- asp.net – Ajax上的Identity Server 3 – 401而
- 利用ASP.NET MVC和Bootstrap快速搭建个人博客之后
- 只需发布已修改的控制器,模型和ASP.NET MVC项目的
- asp.net – 无法加载文件或程序集System.Web.Htt
- ASP.NET – 可以从服务器代码触发回发吗?
- asp.net-mvc – 在ASP.NET MVC中实现工作单元的方
- ASP.Net 2中的上传文件在哪里?
- asp.net-mvc – ASP.NET MVC查看引擎解析顺序