/**适配器设计模式
* 问题:
* 接口(方法比较多)--实现类(仅仅使用一个也得把其他方法给实现了,哪怕是空实现)
* 结局方案:
* 接口(方法比较多)--适配器类(实现接口,仅仅是空实现)--实现类(用哪个重写哪个)
* 如果只有一个接口或者很少接口就不需要用到设配器设计模式了。
*/
//首先创建接口
package july.star.adapter;
/**
* 用户数据处理接口
* @author MoXingJian
* @email 939697374@qq.com
* @date 2016年12月11日 下午3:30:19
* @version 1.0
*/
public interface UserDao {
//用户的添删改查
public abstract void add();
public abstract void delete();
public abstract void update();
public abstract void select();
}
//一般就要实现所有的接口,太麻烦了
package july.star.adapter;
/**
* UserDaoImpl
* @author MoXingJian
* @email 939697374@qq.com
* @date 2016年12月11日 下午3:31:49
* @version 1.0
*/
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 select() {
System.out.println("查询用户");
}
}
//使用适配器设计模式,空实现其方法
package july.star.adapter;
/**
* UserAdapter
* @author MoXingJian
* @email 939697374@qq.com
* @date 2016年12月11日 下午5:02:52
* @version 1.0
*/
public class UserAdapter implements UserDao{
@Override
public void add() {
}
@Override
public void delete() {
}
@Override
public void update() {
}
@Override
public void select() {
}
}
//继承设配器类,重写需要用到的方法
package july.star.adapter;
/**
* UserDaoImpl2
* @author MoXingJian
* @email 939697374@qq.com
* @date 2016年12月11日 下午5:03:35
* @version 1.0
*/
public class UserDaoImpl2 extends UserAdapter{
//只需要重写自己需要用到的方法就好了
@Override
public void add() {
System.out.println("添加用户");
}
}
//测试
package july.star.adapter;
/**
* 适配器设计模式
* 问题:
* 接口(方法比较多)--实现类(仅仅使用一个也得把其他方法给实现了,哪怕是空实现)
* 结局方案:
* 接口(方法比较多)--适配器类(实现接口,仅仅是空实现)--实现类(用哪个重写哪个)
* 如果只有一个接口或者很少接口就不需要用到设配器设计模式了。
* @author MoXingJian
* @email 939697374@qq.com
* @date 2016年12月11日 下午5:04:48
* @version 1.0
*/
public class UserDaoDemo {
public static void main(String[] args) {
//之前的方法
UserDao ud = new UserDaoImpl();
//全部的方法都得实现
ud.add();
ud.delete();
ud.update();
ud.select();
System.out.println("--------使用适配器模式后--------");
//使用适配器模式那么就只需重写自己的方法就好了
UserDao ud2 = new UserDaoImpl2();
ud2.add();
}
}
适配器设计模式,简单的Java代码模拟
最新推荐文章于 2023-03-29 08:00:00 发布