为什么使用接口二(Adapter design pattern)
2017-02-18 22:57
288 查看
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一样的功能库,想想是多么棒的一件事情。
* 树结构中
接口 横 发展
继承 竖 发展
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一样的功能库,想想是多么棒的一件事情。
* 树结构中
接口 横 发展
继承 竖 发展
相关文章推荐
- 为什么要使用接口编程
- 为什么使用接口编程{转载}
- listView中为什么使用setlistAdapter
- 为什么j2EE应用,接口实际使用,多于抽象类
- 为什么要使用接口?
- 浅释一下,为什么要使用接口?
- 为什么使用接口
- 使用接口Adapter 下拉列表
- c#中 接口成员为什么不能使用关键字static virtul override abstract
- 为什么在BaseAdapter中要使用ViewHolder?
- (原創) 我的Design Pattern之旅[7]:使用泛型改進Adapter Pattern (OO) (Design Pattern) (C/C++) (template) (.NET) (C#) (C++/CLI) (VB)
- c#为什么要使用接口?
- 为什么使用接口
- 5.3.1 使用接口更改已装箱值类型中的字段(以及为什么不应该这样做)
- 为什么要使用接口编程?(转)
- 为什么要使用接口编程
- 为什么使用接口编程{转载}
- 为什么要使用接口编程?[转]
- [挖坑]sqlite数据库中的sqlite3_get_table接口为什么不建议使用
- 为什么使用面向对象技术与接口技术