zoukankan      html  css  js  c++  java
  • php设计模式课程---2、为什么会用到简单工厂设计模式

    php设计模式课程---2、为什么会用到简单工厂设计模式

    一、总结

    一句话总结:

    比如调用数据库的语句,如果调用的数据库名字改了,或者调用的数据库类型改了(比如从Mysql用到了Mysqli),那么要改一百多处(有100处引用的情况),要疯掉的

    1、简单工厂设计模式的实质是什么?

    通过一个工厂,根据类型参数,返回不同的对象
    抽象多个相同分支:本质多把多个相同的分支(比如以什么形式调用数据库(mysql,mysqli))抽象到一个里面去,便于修改,便于管理,这样改只用改一处

    就是代码哪里改变,有变化的位置应该位于一处

    2、什么情况下用工厂模式?

    多处复用:并且有可能发生改变的位置,而且这里还是对象哦,返回的是对象

    3、工厂模式,工厂返回的是什么?

    对象:是对象

    二、为什么会用到简单工厂设计模式

    1、相关知识

     

    2、代码

     1 <?php 
     2 /** 5 **/
     6 
     7 // 简单工厂
     8 
     9 class MySQL {
    10 
    11 }
    12 
    13 class Sqlite {
    14 
    15 }
    16 
    17 
    18 class Factory {
    19     public static function getDB($type) {
    20         if($type == 'MySQL') {
    21             return new MySQL();
    22         } else if($type == 'Sqlite') {
    23             return new Sqlite();
    24         } else {
    25             throw new Exception("sorry", 1);
    26             
    27         }
    28     } 
    29 }
    30 
    31 
    32 
    33 // 获取DB对象的时
    34 print_r( Factory::getDB('MySQL') );
    35 
    36 
    37 
    38 
    39 
    40 
    41 
    42 ?>
     
  • 相关阅读:
    P20 HTTP 方法的安全性与幂等性
    P19 查询参数
    P18 写代码:过滤和搜索
    P17 过滤和搜索
    P16 HTTP HEAD
    golang的json操作[转]
    Android中的Service 与 Thread 的区别[转]
    iOS的block内存管理
    Go并发编程基础(译)
    golang闭包里的坑
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9390157.html
Copyright © 2011-2022 走看看