IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

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

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

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

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

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


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(85) 打赏



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

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367