适配器设计模式,简单的Java代码模拟

/**适配器设计模式
  * 问题:
  *  接口(方法比较多)--实现类(仅仅使用一个也得把其他方法给实现了,哪怕是空实现)
  * 结局方案:
  *  接口(方法比较多)--适配器类(实现接口,仅仅是空实现)--实现类(用哪个重写哪个)
  * 如果只有一个接口或者很少接口就不需要用到设配器设计模式了。
  */


//首先创建接口
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();
     }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值