|
|
1
25
将构造函数注入和属性注入混合在一起并不一定是件坏事,但这可能并不常见。作为一个整体策略,避免资产注入,因为它更难正确地实现(这听起来可能有悖直觉,但这是真的)。 了解何时使用每个模式很重要。
你不应该因为施工化妆品而使用财产注射。 当您需要太多依赖项时,这表明您可能违反了 Single Responsibility Principle -这个班只是想同时做太多的事情。 与其引入参数对象(否则是一个好的建议),更好的选择是将两个或多个依赖项封装到 聚合服务 协调这些依赖关系的交互。 假设您的初始构造函数如下所示:
在应用了一些分析之后,您会发现 在这种情况下 IDEP1、IDEP3和IDEP4将以特定的方式一起使用。这将允许您引入这样封装这些内容的聚合服务:
现在可以将原始构造函数重写为:
等等…… 聚合服务本身就是一个合适的概念,这是很常见的,突然间,您拥有了比启动时更丰富的API。 |
|
|
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 4 年前 |
|
|
Justin · Python自属性重命名 8 年前 |
|
|
Sabutobi · 长dict属性行的重构 8 年前 |
|
|
Falco Alexander · 简单LINQ重构/样式 8 年前 |
|
|
05bs001 · Euler 12需要优化 8 年前 |
|
|
slartidan · 如何将lambda表达式重构为方法引用? 8 年前 |
|
|
Alex · 在Java类中频繁使用与映射键相同的字符串[已关闭] 8 年前 |