我风具有约20个不同参数的构造模型类,每一个服务?这是正常或一个标志,什么是关闭的。

有帮助吗?

解决方案

我想,斩钉截铁,您的控制器与太多的服务进行交互。我从来没见过你的代码 - 所以我打算关闭的假设 - 但在我看来,你的控制器通过调用无数的“小”的服务,而不是对构成业务逻辑较少,“较大”服务绘画创作的商业逻辑从较小的服务。

有一个到处寻找关于“编排服务”与“实体”或“能力”服务的信息,你就会明白我的意思。如果您创建业务流程的服务,提供他们所需要的逻辑你的控制器,你的架构改进,因为你的控制器真的不应该包含任何业务逻辑可言。

我真的认为你消费服务的数量是这里的问题。 IoC容器可以在一定程度上解决了如何绑定类型的注入参数等,但我认为这个问题是您在这一点上的架构。

其他提示

您可以尝试整合一些服务,或者想在更小范围的组件重构控制器视图零件。此外,像春天依赖注入风格框架可以用这样的事情有所帮助。

Allthough我不知道您的设置。 20似乎有点多,我想你违背了SRP(单一职责priniciple)。但是,因为我看不到你的代码是不可能告诉。如果你真的需要所有这些服务在一个模型类,那么也许你需要将它们放在一个factoryclass并使用它作为一个参数。

这是很难给这个有什么好的答案,因为我们不知道你的域名。

作为马特*所述的依赖关系注入可以帮助你在这里sprint.NET 是一个很好还有其他几个人。

看到你提MVP特别是,你至少应该看看 Ent Lib4.1 现在有 团结, 微软的采取。他们 网站可能是一个良好的开端,如果这是新的。

还有 软件工厂将与visual studio 和给你工具,用于创建最有价值球员对网站作为相联系或网络服务。这些来自模式和做法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top