面向接口编程和工厂模式

UserDao---User类的数据库连接接口
//MySQL Oracle,User类有MySQL和Oracle两种数据库连接方式可以实现
CategoryDao---CategoryDao类的数据库连接接口
//MySQL Oracle
UsermysqlDao implements UserDao,UseroracleDao implements UserDao , UsermysqlDao 和UseroracleDao 是用户类连接不同数据库的实现类;

A.需要完成的功能:
若原来 User类使用Mysql数据库存储数据,当系统想要从原来使用Mysql数据库转移至Oracle数据库时,面向接口编程可以实现一种“添加而不是修改”的代码设计思想,可以将数据库连接方式定义成为一个接口,当要使用Mysql数据库时,通过:
UserDao example = new UsermysqlDao();
example.add();
example.delete();来使用。
当要使用Oracle数据库时,只需要定义一个UseroracleDao类实现UserDao接口即可添加Oracle数据库支持,原代码只需要改成:
UserDao example = new CategorymysqlDao();
example.add();
example.delete();即可。

B学习的两种工厂模式:

  1. Class DaoFactory{
    UserDao getUserDao(){根据情况return UsermysqlDao 或者 UseroracleDao}
    CategoryDao getCategoryDao(){根据情况return CategorymysqlDao 或者 CategoryoracleDao}
    }

  2. abstract DaoFactory 或 interface DaoFactory{
    UserDao getUserDao();
    CategoryDao getCategoryDao();
    }

Class MySqlDaoFactory implements DaoFactory{
UserDao getUserDao(){return UsermysqlDao}
CategoryDao getCategoryDao(){return CategorymysqlDao}
}

转载于:https://www.cnblogs.com/akiradunn/p/5851576.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值