• 设计模式(一)工厂模式(补) -- 理解记忆方式


      设计,是为了更好的应对变化。

      思考记忆方向:此模式是不是 提取了抽象、分离了具体、依赖于抽象、封装了具体

    /**
     *  简单工厂 :一个简单工厂(选择某个数据库) + 数据库接口(多个数据库实例)
     *
     *  IFactory
     *  MySqlFactory  OracleFactory  SqlServerFactory  
     *
     *  SimpleFactory(switch控制选哪个工厂实例)
     */
      SimpleFactory sf = new SimpleFactory();
      IFactory f = sf.getFactory("mysql");    //创建MySqlFactory实例
    
    
    /**
     *  工厂模式 :定义一个用于创建对象的接口,让子类决定实例化哪一个类,它使一个类的实例化延迟到其子类
     *  工厂模式 :一个工厂接口(多个数据库实例) + 一个表接口(同表多个实例)
     *
     *  IUesr
     *  MySqlUser  OracleUser  SqlServerUser
     *
     *  IFactory
     *  MySqlFactory  OracleFactory  SqlServerFactory  (每个工厂实例都生成Uesr)
     */
      IFactory f1 = new MySqlFactory(); //确定数据库实例
      IUser user = f1.createUser(); //创建User表
      user.insert(); //执行语句
    
    
    /** 
     *  抽象工厂 : 提供一个创建一系列或相关依赖对象的接口,而无须指定他们具体的类
     *  抽象工厂 : 一个抽象工厂接口 + 多个表接口
     *  
     *  IUesr                                  IDepartment
     *  MySqlUser  OracleUser  SqlServerUser   MySqlDepartment  OracleDepartment  SqlServerDepartment
     *
     *  IFactory
     *  MySqlFactory  OracleFactory  SqlServerFactory  (每个工厂都生成Uesr和Department)
     */
      IFactory f2 = new MySqlFactory();  //确定数据库实例
      IUser user2 = f2.createUser();  //已与具体的数据库访问解除了耦合
      user2.insert();
      IDepartment department = f2.createDepartment(); //已与具体的数据库访问解除了耦合
      department.insert();
    
    
  • 相关阅读:
    GitLab-添加SSH Key亲历教程
    java-数组Array的应用总结
    Java-方法的重载和重写
    JSON-相关的工具收藏分享
    java-无重复的排列组合小技能
    Charles安装与使用
    深拷贝浅拷贝
    文件操作
    列表生成式
    非空即真,非零即真
  • 原文地址:https://www.cnblogs.com/shushengyou/p/10209961.html
Copyright © 2020-2023  润新知