设计模式--适配器模式(简要)(四)
来源:互联网 发布:java socket断点续传 编辑:程序博客网 时间:2024/06/18 06:48
优点
让本来不适合使用的接口变得适合使用
缺点
一次只能适配一个类,使用有一定的局限性
/*
*针对用户操作的四种功能,增删改查
*/
public interface UserDao {
public abstract void add();
public abstract void delete();
public abstract void update();
public abstract void find();
}
//用普通类去实现接口,就必须四种全部实现
public class UserDaoImpl implements UserDao {
@Override
public void add() {
System.out.println("添加功能");
}
@Override
public void delete() {
System.out.println("删除功能");
}
@Override
public void update() {
System.out.println("修改功能");
}
@Override
public void find() {
System.out.println("查找功能");
}
}
//适配器设计模式,利用一个中间类(抽象的)来实现多功能的接口,以后想使用什么功能,直接使用子类继承该抽象类,重写需要的功能方法即可
public abstract class UserAdapter implements UserDao {
@Override
public void add() {
}
@Override
public void delete() {
}
@Override
public void update() {
}
@Override
public void find() {
}
}
//继承适配器类,并重新需要的功能
public class UserDaoImpl2 extends UserAdapter {
@Override
public void add() {
System.out.println("添加功能");
}
}
/*
*问题:
* 接口(方法比较多) --实现类(仅仅使用一个,也得把其他的实现给提供了,哪怕是空实现)
* 太麻烦了。
*解决方案:
* 接口(方法比较多) --适配器类(实现接口,仅仅空实现) --实现类(用哪个重写哪个)
*/
public class UserDaoDemo {
public static void main(String[] args) {
UserDao ud = new UserDaoImpl();//普通的实现类,需要实现接口的全部功能
ud.add();
UserDao ud2 = new UserDaoImpl2();//适配器设计模式类,只需要重写需要的功能方法即可
ud2.add();
}
}
- 设计模式--适配器模式(简要)(四)
- 设计模式(四)适配器设计模式
- 设计模式(四):适配器模式
- 设计模式(四):适配器模式
- 设计模式(四)--适配器模式
- 设计模式(四)适配器模式(转)
- 【四】设计模式——适配器模式(Adapter Pattern)
- 设计模式大总结(四):适配器模式
- 【设计模式 四】适配器模式
- 适配器设计模式的简要概括
- 设计模式(适配器模式,外观模式)
- 慕课网----大话PHP设计模式 四(适配器模式,数据对象映射模式,观察者模式)
- (读书笔记)设计模式简要
- 同步适配器模式(四)
- OOAD-设计模式(四)结构型模式之适配器、装饰器、代理模式
- 设计模式----Adapter(适配器)
- 设计模式(五)适配器
- 适配器设计模式(Adapter)
- 发送有序广播
- 设计模式--适配器模式(三)
- session是什么?
- Django 改为用pymysql方法
- P3329 [ZJOI2011]最小割
- 设计模式--适配器模式(简要)(四)
- 字符串回文判断(palindrome)
- 相关控制
- Stax用法示例
- JSP<1.1>
- 函数默认参数
- MyBatis配置C3P0连接池
- Android双击返回键退出程序的实现方法
- 舞步学院PUA就是个坑,大家千万不要信(真事)