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

  • 相关阅读:
    发现一个github上特别优秀的面试准备资料
    坠吼的大哥的博客
    [BJDCTF 2nd]假猪套天下第一
    [网鼎杯 2020 朱雀组]phpweb
    [GWCTF 2019]我有一个数据库
    [BJDCTF2020]ZJCTF,不过如此
    [GXYCTF2019]禁止套娃
    洛谷
    [ZJCTF 2019]NiZhuanSiWei
    蓝帽杯决赛-爆炒腰花-WP
  • 原文地址:https://www.cnblogs.com/akiradunn/p/5851576.html
Copyright © 2011-2022 走看看