查询网站域名备案,食品电子商务网站建设方案,中企动力建设网站,wordpress 全景适配器把一个类的接口#xff0c;强制变成另外一个类的接口实现。 个人建议#xff0c;万不得已不要用适配器。但是#xff0c;你一定要知道有这么个东西。 如果你的项目刚刚起步#xff0c;就有人用了适配器#xff0c;那基本上就是滥用。 适配器一般是项目庞大#xff…适配器把一个类的接口强制变成另外一个类的接口实现。 个人建议万不得已不要用适配器。但是你一定要知道有这么个东西。 如果你的项目刚刚起步就有人用了适配器那基本上就是滥用。 适配器一般是项目庞大比如接口已经对外提供出去不好快速修改了但由于特殊业务需要其他接口的实现不得已才用的。 所以适配器模式能少用则少用能不用则不用。
具体实现
假设有个类A类中有方法aMethod 再有个类B类中有方法bMethod
正常情况下A类的引用调用方法aMethodB类的引用调用方法bMethod如下。 A a new A(); a.aMethod(); B b new B(); b.bMethod();
现在需求如下在不改变类A和类B的前提下想用类A的引用调用方法aMethod但最终方法aMethod中却是方法bMethod的实现。
这时就要用到适配器模式。 我们新建一个类C继承类A然后把类B作为类C的成员变量注入进来然后重写方法aMethod在aMethod方法中使用类B的引用调用类B的bMethod方法即可。 类C就是AB的适配器准确的说是C让A适配了B。
class C extends A{Autowiredprivate B b;Overrideprivate void aMethod(){b.bMethod();}
}这样一来就可以让类A的引用调用方法aMethod结果却是调用了bMethod方法。
A a new C(); a.aMethod();
注意
如果一个项目过多的使用适配器模式那将会使项目的可读性大大降低甚至会误导人。 这种情况就要考虑重构项目了。 所以说适配器就是为了解决短时间的问题不得已才这么做的他破坏了类与类之间清晰的界限有种移花接木的感觉不能常用。