php设计模式课程---2、为什么会用到简单工厂设计模式
2024-08-24 08:43:40
php设计模式课程---2、为什么会用到简单工厂设计模式
一、总结
一句话总结:
比如调用数据库的语句,如果调用的数据库名字改了,或者调用的数据库类型改了(比如从Mysql用到了Mysqli),那么要改一百多处(有100处引用的情况),要疯掉的
1、简单工厂设计模式的实质是什么?
通过一个工厂,根据类型参数,返回不同的对象
抽象多个相同分支:本质多把多个相同的分支(比如以什么形式调用数据库(mysql,mysqli))抽象到一个里面去,便于修改,便于管理,这样改只用改一处
就是代码哪里改变,有变化的位置应该位于一处
2、什么情况下用工厂模式?
多处复用:并且有可能发生改变的位置,而且这里还是对象哦,返回的是对象
3、工厂模式,工厂返回的是什么?
对象:是对象
二、为什么会用到简单工厂设计模式
1、相关知识
2、代码
<?php
/** **/ // 简单工厂 class MySQL { } class Sqlite { } class Factory {
public static function getDB($type) {
if($type == 'MySQL') {
return new MySQL();
} else if($type == 'Sqlite') {
return new Sqlite();
} else {
throw new Exception("sorry", 1); }
}
} // 获取DB对象的时
print_r( Factory::getDB('MySQL') ); ?>
最新文章
- 代码实现SQL Server动态行转列,不用存储过程
- Android 常用数据适配器ArrayAdapter
- 9款基于CSS3 Transitions实现的鼠标经过图标悬停特效
- 使用 Fluent API 配置/映射属性和类型2
- Nand flash 的发展和eMMC
- ios 第三方qq授权登陆,第一次登陆后,再次登陆,失效
- php基础教程笔记2
- 关于在jsp页面中使用/struts-tags标签库的迭代器时,从ValueStack获取参数使用EL的问题
- ASP.NET Core学习之二 菜鸟踩坑
- linux_vi快捷键
- JAVA中GridBagLayout布局管理器应用详解
- Docke--基础篇
- IMU 标定 | 工业界和学术界有什么不同?
- 1.编写一个shell脚本
- python 与mongodb 交互
- 【Java入门提高篇】Day29 Java容器类详解(十一)LinkedHashSet详解
- hdu-2089 不要62 基础DP 模板
- django学习笔记-1
- DFS-深度优先遍历
- 一些适合初学者的C/C++语言开发环境(IDE)