我正在学习企业模式,我正在阅读this book。
我刚刚阅读了第5章,我仍然感到困惑......据我所知,IoC应该从其他类中删除依赖项,对吧?又名松散耦合。
我还读到这很好,因为如果你重建具体的类,它不会破坏那些依赖它的对象。
我明白这意味着,如果我重建程序集(.dll),它将不需要我重建引用它的其他项目,这是正确的吗?
但是书中的示例在项目中引用了它,并做了很多事情来获得一个类的实例,这让我感到困惑。
我认为最终的结果是动态加载程序集并在其中创建具体类的实例,类似于MEF。
有人能解释一下吗?
答案 0 :(得分:2)
IoC不只是用于删除依赖项。您的程序集和类没有紧密耦合。你可以随时更换它们。
但其中一个主要方法是在运行时更改依赖关系并使用类和对象。您可以要求您的IoC Container为您提供业务处理程序类,而您无需关心返回给您的类。 IoC Container将决定返回实例的类,您可以为它提供此逻辑。
IoC(DI)删除了紧密耦合的依赖关系,并且还具有一些逻辑,用于根据每种情况创建不同的对象类型,处理程序,业务提供程序,并且您无需在运行时关注它们。
它试图解决哪些问题?
<强>优势强>
答案 1 :(得分:1)
首先阅读:Head First Design Patterns
它将解释许多有助于您了解企业级模式的基本概念