我的应用程序使用DI框架,并在必要时遵循“程序到界面”的做法。
我使用构造函数注入,因为我想明确地看到依赖项。但是现在我的表单类的构造函数需要太多参数(例如> = 4)。
问题:由于UI设计通常不遵循SRP,因此Winform类可能具有n
构造函数依赖项。你喜欢保持原样,传递代理对象,使用服务定位器......?在没有使用aop框架的情况下,你也在每个构造函数中注入“方面”(记录器等)吗?
答案 0 :(得分:4)
UI实施不应该遵循SRP。使用MVP,MVC或MVVM等模式,UI类“单一职责”是通过UI呈现和收集数据。这通常最好通过相当被动的数据结构来完成,例如View Models。
构造函数过度注入的问题应由refactoring to Aggregate Services解决。