Adapter design pattern:自己翻译:过渡类设计模式
1、发现需要的功能,网上现成的
2、而且不需要改。
3、加一个过渡类就可以使用。
现在主要是写过渡类:
例如: 基础类库已经有:
1、接口基类processor
方法:object process(object input){}
2、公共使用类 Apply(面对功能使用者)
public static void process(Processor p,Object s)
3、public abstract class StringProcessor implements Processor{}
功能实现类:字符转大写,字符转小写。
功能实现者(网上现成的):
发现有一个DateCast的基类 ,有 “ 字符转日期 ” 功能,想加到自己的基础类库中。
public class DataCast {
public Date process(Object input) {return ((Date)input);}}
class DatoStr extends DataCast{
public Date process(Object input) { Date da=null; return da;} //只写一点框架,
}
开始工作流程:(新增的)
1.写DataCastAdapter 过渡类,实现接口 和 封装(网上拷贝的类)
public class DataCastAdapter implements Processor{
DataCast da;
public DataCastAdapter(DataCast da) {
this.da = da;
}
@Override
public String name() {
// TODO Auto-generated method stub
return null;
}
@Override
public Date process(Object input) {
// TODO Auto-generated method stub
return da.process((String)input);
}
2.功能使用者
public void test() {
Apply.process(new DataCastAdapter(new DatoStr()),"2016-02-01");
}
只做了两步,
增加 1.过渡类 2.功能使用者的参数变一下。
你的基础类库又增加一项功能
利用 接口,过渡设计模式和继承 可以不断扩大自己的 功能库。
不久以后自己也可以拥有像jdk一样的功能库,想想是多么棒的一件事情。
* 树结构中
接口 横 发展
继承 竖 发展