3

我的应用程序使用 DI 框架,并在必要时遵循“程序到接口”实践。

我使用构造函数注入,因为我想明确地查看依赖关系。但是现在我的表单类的构造函数接受了太多参数(例如> = 4)。

问题:由于 UI 设计通常不遵循 SRP,因此 Winform 类可能具有n构造函数依赖项。你喜欢让它们保持原样,而是传递一个代理对象,使用服务定位器......?考虑到没有使用 aop 框架,您是否还在每个构造函数中注入“方面”(记录器等)?

4

1 回答 1

4

UI 实现没有理由不遵守 SRP。使用 MVP、MVC 或 MVVM 等模式,UI 类的唯一职责是通过 UI 呈现和收集数据。这通常最好通过相当被动的数据结构来完成,例如视图模型。

关于构造函数过度注入的问题应该通过重构为 Aggregate Services来解决。

通过应用装饰器设计模式可以最好地解决各个方面。

于 2011-01-18T15:35:28.997 回答