我正在读一本书Microsoft .NET: Architecting Applications for the Enterprise。在第3章(设计原则和模式)中,书中指出:
控制反转(IOC)是DIP的一个应用程序,它指的是通用代码控制更具体和外部组件执行的情况。
我不同意。我认为DIP是IOC的一个应用程序。在Martin Fowler的文章Inversion of Control Containers and the Dependency Injection pattern中他说:
结果我认为我们需要一个更具体的名称来表示这种模式。控制反转过于笼统,因此人们会发现它令人困惑。因此,经过与各种IoC倡导者的大量讨论,我们确定了名称Dependency Injection。
对我来说,这表明DIP是IOC特定应用的特定术语。
你说什么?