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 ?>
 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/9390157.html