zoukankan      html  css  js  c++  java
  • 面向接口编程和工厂模式

    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}
    }

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

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

  • 相关阅读:
    观察者模式
    简单工厂
    一个数组先按值排序,如果它的值有相同,就再按键排序(转)
    Python 一些好玩的函数
    python 一些基础知识
    python3 写CSV文件多一个空行的解决办法
    pandas学习笔记
    pycharm2017.1破解方法
    python的Debug调试
    python中字典的陷阱
  • 原文地址:https://www.cnblogs.com/akiradunn/p/5851576.html
Copyright © 2011-2022 走看看