工厂模式
模式 工厂
2023-06-13 09:12:23 时间
本次代码符合PHP规范PRS_0
根目录下新建一个Frame的目录(核心目录),建立APP目录(项目目录)
统一访问入口文件index.php,建立类文件Loader.php(用于自动加载类)
index.php 公共部分
define('BASEDIR',__DIR__);
include BASEDIR.'/Frame/Loader.php';
spl_autoload_register('\\Frame\\Loader::autoload');
Loader.php
<?php
namespace Frame;
class Loader
{
static function autoload($class)
{
require BASEDIR.'/'.str_replace('\\','/',$class).'.php';
}
}
工厂模式
- 我们先看一段通常情况下代码:
- 例如我们新建一个操作数据库DataBase.php的类,当程序中有大量地方调用时,我们想修改类名字或者加一些参数就会很麻烦而且浪费时间,需要修改所有调用DataBase类的地方,也有可能漏改造成错误,
<?php
namespace Frame;
//数据库操作
class Database
{
public function __construct()
{
//连接数据库......
}
}
index.php中调用
<?php
define('BASEDIR',__DIR__);
include BASEDIR.'/Frame/Loader.php';
spl_autoload_register('\\Frame\\Loader::autoload');
new \Frame\Database();
- 工厂模式代码新建Factory.php,这样的话如果增加参数或者修改类名只需要修改Factory.php即可。
<?php
namespace Frame;
class Factory
{
static public function createDatabase()
{
$db = new \Frame\Database();
return $db;
}
}
index.php中调用
<?php
define('BASEDIR',__DIR__);
include BASEDIR.'/Frame/Loader.php';
spl_autoload_register('\\Frame\\Loader::autoload');
\Frame\Factory::createDatabase();
相关文章
- 设计模式之工厂模式_单例模式和工厂模式
- Spring学习笔记(一)——Spring介绍及工厂模式解耦
- Java 工厂模式
- php 抽象工厂模式
- 【说站】js策略模式是什么
- 工厂模式和策略模式结合使用的案例介绍
- Spring事件监听机制及观察者模式
- 原来要这么实现单例模式
- 消息队列RabbitMQ核心:简单(Hello World)模式、队列(Work Queues)模式、发布订阅模式
- 工厂模式代码实例详解
- 工厂模式代码实例详解(二)
- 图解设计模式: 有趣的工厂模式
- 设计模式系列之工厂模式
- Java设计模式之工厂模式
- 设计模式 - 创建型模式_工厂方法模式
- 设计模式 | 创建型 | 工厂模式
- 漫谈模式之抽象工厂模式
- 工厂方法模式 创建型 设计模式(三)详解程序员
- Java 简单工厂模式详解编程语言
- PHP设计模式_工厂模式详解编程语言
- Java 单例模式的线程安全实现详解编程语言
- 的深浅Redis主从模式:坑将让你深陷其中(redis主从坑)
- 小米米家充气宝 1S 今日开售:5 种充气模式,199 元
- Linux:如何进入单用户模式(linux进单用户模式)
- LVS实战案例:LVS-DR模式单网段案例
- Oracle全日志模式记录生活最精彩瞬间(oracle全日志模式)
- 深入探究Redis的灵活存储模式(查看redis模式)
- 处理cxOracle支持的异步处理模式(cx oracle 异步)
- 研究发现吸积盘发光的模式因超大质量黑洞质量的不同而不同
- php中的MVC模式运用技巧
- JavaScript模式之工厂模式(Factory)应用介绍
- python中getattr函数使用方法getattr实现工厂模式
- 浅谈C#设计模式之工厂模式