IOC 叫做控制反转(Inversion of Control),是面向对象编程中的一种设计原则,它的大体思路是:借助于“第三方”实现具有依赖关系的对象之间的解耦。其中最常见的方式叫做依赖注入(Dependency Injection),另外还有一种方式叫做依赖查找(Dependency Lookup)。
IOC 这样的设计模式在个大框架都有各自的实现,例如 JAVA 的 Spring、前端的 Angular 等等。早在 2004 年,Martin Fowler 就提出了“哪些方面的控制被反转了?”这个问题。他总结出是依赖对象的获得被反转了,因为大多数应用程序都是由两个或是更多的类通过彼此的合作来实现企业逻辑,这使得每个对象都需要获取与其合作的对象(也就是它所依赖的对象)的引用。如果这个获取过程要靠自身实现,那么这将导致代码高度耦合并且难以维护和调试。
〖坚持的一俢〗
网友评论