我是这样想的,您学习设计模式,首先要明确两点,用在什么情况适合;用了此模式,对之后扩展的影响性如何。
适配器,我觉得,首先是这样,有一部分接口是您由于一些原因不能修改,或者不愿修改,另一部分接口是由您控制,然后,您需要把这两部分接口汇总起来,给出Adapter接口,比如您需要使用一些开源API,而开源组件又不能完全满足您需求,你还要加入部分自己的功能接口时。
用了之后的好处,我想到一点,假设一个新的电源出现了 PowerSourceC,那么您的修改是少量的可控的,而且不影响PowerSourceA,PowerSourceB的。
适配器,我觉得,首先是这样,有一部分接口是您由于一些原因不能修改,或者不愿修改,另一部分接口是由您控制,然后,您需要把这两部分接口汇总起来,给出Adapter接口,比如您需要使用一些开源API,而开源组件又不能完全满足您需求,你还要加入部分自己的功能接口时。
用了之后的好处,我想到一点,假设一个新的电源出现了 PowerSourceC,那么您的修改是少量的可控的,而且不影响PowerSourceA,PowerSourceB的。
{
private PowerSourceA a;
private PowerSourceB b;
public Adapter(PowerSourceA a){
this.a = a;
}
public void set(){
a.insert();
}
}
class Adapter implements PowerSourceA
{
private PowerSourceB b;
public Adapter(PowerSourceB b){
this.b = b;
}
public void insert(){
b.set();
}
}你如果是针对B电源建立的A电源适配,那么当你直接调用A电源的方法时,会空指针错误,所以不如两者拆分,分开处理