课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
适配器模式
例如:用户的需求与解决的代码不匹配,这就需要适配器
类适配器
package com.bjsxt.test11;
//被适配的类
public class Adaptee {
public void surf(){
System.out.println("提供上网功能!");
}
}
//客户的目的就是为了上网
interface Target{
void toSurf();
}
class Client{
public void want(Target t){
t.toSurf();
}
}
//进行适配工作
class Adapter extends Adaptee implements Target{
@Override
public void toSurf() {
System.out.println("转换。。。");
super.surf();
}
}
class Test{
public static void main(String[] args) {
new Client().want(new Adapter());
}
}
对象适配器(仅改变适配器的类即可)
package com.bjsxt.test11;
//被适配的类
public class Adaptee {
public void surf(){
System.out.println("提供上网功能!");
}
}
//客户的目的就是为了上网
interface Target{
void toSurf();
}
class Client{
public void want(Target t){
t.toSurf();
}
}
//进行适配工作
//对象适配器就更改适配器,不改其他的
class Adapter implements Target{
Adaptee ae;
public Adapter(Adaptee ae){
this.ae=ae;
}
@Override
public void toSurf() {
System.out.println("转换。。。");
ae.surf();
}
}
class Test{
public static void main(String[] args) {
new Client().want(new Adapter(new Adaptee()));
}
}
适配器模式的优缺点:
优点:
更好的复用性
更好的扩展性:调用自己开发的功能,从而扩展系统的功能
缺点:
过多的适配器会让系统特别的凌乱,如果不是很必要,可以不适用适配器,而是直接对系统进行重构
树越是向往高处的光亮,它的根就越要向下,向泥土向黑暗的深处。