专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

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

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

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

/**
 *  简单工厂 :一个简单工厂(选择某个数据库) + 数据库接口(多个数据库实例)
 *
 *  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();

文章永久链接:https://tech.souyunku.com/20309

未经允许不得转载:搜云库技术团队 » 设计模式(一)工厂模式(补) -- 理解记忆方式

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们