php适配器模式简介
要点:1。适配器模式主要用于“部分已有类有望复用,但接口与复用环境要求不一致的情况”,在复用遗留代码和移植类库时非常有用。2.适配器模式有对象适配器和类适配器两种实现结构形式,但类适配器采用“多继承”实现方式,带来不好的高耦合性,一般不推荐。对象适配器采用“对象组合”的方式,更符合松散耦合精神。已实现:
(继承的)的适配器模式结构图。
(对象适配器的代码实现)目标的适配器模式结构图(组合):定义接口公共接口目标{void request(),客户端使用,与特定域相关;}Adaptee:现在需要适配的现有接口,公共类Adaptee { public void specific request(){ } }适配器:Adaptee接口适配Target接口,公共类适配器实现Target { public adapter(Adaptee Adaptee){ super();this.adaptee=adaptee} public void request(){ adaptee . specificrequest();}私有Adaptee adaptee}适用性:1。系统需要使用现有的类,但是这类类的接口并不能满足系统的需求。2.我想构建一个可重用的类来处理一些彼此不相关的类,包括一些将来可能会引入的类。这些源类不一定有复杂的接口。3.(对于对象适配器)在设计中,需要更改几个现有子类的接口。如果使用类的适配器模式,就需要为每个子类做一个适配器,这是不实际的。优缺点:对于类适配器:1。将Adaptee和Taget与特定的适配器类进行匹配。结果是,当我们想要匹配一个类及其所有子类时,类适配器将无法胜任。2.使适配器覆盖(重新定义)适配器的某些行为,因为适配器是适配器的子类。对于对象适配器:1。允许适配器与多个适配器一起工作,即适配器本身及其所有子类(如果有)。适配器还可以同时向所有适配器添加功能。2.这使得很难覆盖(重新定义)Adaptee的行为。如果一定要覆盖adaptee的方法,就要做一个adaptee的子类来覆盖Adaptee的方法,然后将这个子类作为一个真正的Adaptee源进行适配。
版权声明:php适配器模式简介是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。