kepas中的属性服务注册是一个不错的功能,但是我被迫使用它吗?我的意思是,因为Kephad仅在实际DI/IOC实现上提供了一个抽象层,所以它无法提供特定的DI容器可能提供的所有功能。
此外,我的团队可能对要遵循的编码样式有限制和/或已经有一个很大的代码库。
不,您根本没有被迫。您可以携带自己的容器,注册服务,但是如果您想与容器一起播放,则必须在此处注册其服务。它使用属性模型([*AppServiceContract]
和[OverridePriority/ProcessingPriority]
属性)来执行此操作,因此您也必须支持它们,并且在IOC适配器中。正如我在另一个答案中澄清的那样,如果您对System.Composition
适配器不满意,或者您需要一个用于另一个DI框架的适配器,则可以自己写自己的。