现代MVC框架中的一些设计模式
IOC - 控制反转(Inversion of Control)
依赖关系的转移,从对 底层实现 的依赖转为对 外部传入参数 的依赖。从而实现不更改业务代码,通过注入不同的依赖对象,来调整程序行为
依赖抽象而非实践,控制权从 实际对象 转移到 抽象接口,具体表现为业务逻辑不依赖于手动实例化的对象, 而依赖于TypeHint了接口规范的传入参数
DIP - 依赖倒置原则(Dependence Inversion Principle)
等同于IOC
DI - 依赖注入(Dependency Injection)
依赖对象不再手动实例化, 转而由容器根据TypeHint自动注入
DIC - 依赖注入容器(DI Container)
DIC基于DI实现
提供 延时生成 、单例化 及 高内聚低耦合 等特性
管理对象的 依赖关系 及其 整个生命周期,包括实例化,调用,销毁
将对象的实例化从业务逻辑中解耦出来,直接通过容器来访问对象
常见的四种组合模式 —— 优先组合,其次继承
1, 代理模式Proxy
中介作用,通过代理对象来访问底层实现
2, 桥接模式Bridge
抽象与实现分离,适应多个维度的编码,通过属性包含的方式来访问多个底层实现
3, 适配器模式Adapter
将一个类的接口适配成用户所期待的接口规范,使得原本不兼容的接口得以一起工作,即统一接口
4, 中介模式Mediator
通过中介对象来支持不同域间对象的通信,主要起到协调作用