![]() |
1
1
我想说,您应该始终支持构造函数注入,而不是直接使用总线作为
Ambient Context
使用构造函数注入的优点是它可以真正明确类的依赖关系是什么。我甚至会阻止使用
使用构造函数注入不会增加复杂性;您的类具有相同数量的依赖项。最大的区别是,这更加灵活和透明。
基类是许多人的代码气味,我甚至会说它是一种反模式,以防它们被用来包含一组常用的依赖项。他们试图隐藏这样一个事实:一个类需要太多的依赖项,而没有解决根本问题,即 Single Responsibility Violation 。防止像这样使用基类,因为这样会使这些违规行为变得非常突出。
如上所述,防止应用程序代码依赖Masstransit库本身。这引入了供应商锁定。您的应用程序代码(除了Composition Root)不应该知道它使用的外部库。这适用于日志库、DI库、消息总线库;这样做符合 Interface Segregation Principle 声明客户端应该定义抽象。通过依赖注入,防止这种耦合非常容易(而且令人愉快)。 |
![]() |
Martin Wedvich · 简单注入器装饰器和协方差 7 年前 |
![]() |
Romain Vergnory · 简单注入器中的寄存器部分打开泛型 7 年前 |
|
chapas · 注入到不同的项目/程序集中 8 年前 |
![]() |
Raik · 基于简单注射器的生活方式注册实现 8 年前 |
![]() |
Andrew · ASP。带简单喷油器的净芯 8 年前 |