工厂模式,工厂方法或者类生成对象,而不是在代码中直接new。 使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数。

示例:

Test1.php

class Test1{

static function test(){

echo __FILE__;

}

}

Factory.php

class Factory{

/*

* 如果某个类在很多的文件中都new ClassName(),那么万一这个类的名字

* 发生变更或者参数发生变化,如果不使用工厂模式,就需要修改每一个PHP

* 代码,使用了工厂模式之后,只需要修改工厂类或者方法就可以了。

*/

static function createDatabase(){

$test = new Test1();

return $test;

}

}

Test.php

spl_autoload_register('autoload1');

$test = Factory::createDatabase();

$test->test();

function autoload1($class){

$dir = __DIR__;

$requireFile = $dir."\\".$class.".php";

require $requireFile;

}

基于php的工厂管理系统,PHP设计模式——工厂模式相关推荐

  1. java 工厂方法_java设计模式-工厂方法模式

    1.工厂方法(FactoryMethod)模式的定义 定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中.这满足创建型模式中所要求的"创建与使用相分离" ...

  2. 汽车零部件企业数字工厂管理系统建设方案

    在汽车零部件制造领域,伴随工业信息化与机器人化,制造模式逐渐从 CAD/CAE/CAM 数字化设计及加工走向全产品周期虚拟现实的数字化工厂管理系统平台,实现虚拟现实设计制造,防范产品缺陷并预防设备故障 ...

  3. 设计模式 - 工厂方法模式 - 基于 Java 实现

    常见和工厂有关的设计模式 和工厂相关的设计模式主要有三种,工厂方法模式,抽象工厂模式: 在前面的博客中介绍了简单工厂模式,本篇博客主要介绍的是工厂方法模式 什么是工厂方法模式 工厂方法模式是简单工厂的 ...

  4. 设计模式----工厂模式

    一 简单工厂模式 1.简单工厂模式:属于类的创建型模式,又叫静态工程模式,通过一个专门的类来负责创建其他类的实例,被构建的类往往都有一个公共的父类或者父接口. 2.代码实现略 3.从1的uml图中可以 ...

  5. 设计模式 | 工厂方法模式及典型应用

    工厂方法模式 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化.工厂方法模式让一个类的实例化延迟到其子类. 工厂方法模式又简称为工厂 ...

  6. Java设计模式——工厂模式

    前言 工厂模式是一种比较常见的创建模式.有时,可能你使用了工厂模式而你却还不知道你已经使用了它.至少我感觉下面说的第一种简单工厂模式,你是已经很熟悉了.并且是经常使用的.不信,就继续向下看. 版权说明 ...

  7. 设计模式——工厂模式(二)

    文章目录 工厂方法模式 1.1工厂方法模式概述 1.2工厂方法模式定义如下 1.3工厂方法模式要点 1.4设计步骤及代码示例 1.5工厂方法模式结构图中包含角色 1.6工厂方法模式的主要优点和缺点 1 ...

  8. 设计模式的征途—2.简单工厂(Simple Factory)模式

    工厂模式是最常用的一种创建型模式,通常所说的工厂模式一般是指工厂方法模式.本篇是是工厂方法模式的"小弟",我们可以将其理解为工厂方法模式的预备知识,它不属于GoF 23种设计模式, ...

  9. 设计模式 工厂方法_工厂设计模式–一种有效的方法

    设计模式 工厂方法 如您所知,"工厂方法模式"或俗称"工厂设计模式"是"创意设计模式"类别下的一种设计模式. 模式背后的基本原理是,在运行时 ...

最新文章

  1. 最新综述:激光雷达感知深度的域适应方法
  2. python安装工具命令pip安装慢切换为国内阿里云镜像方法及前后对比
  3. elasticsearch入门一
  4. the next journal submission for mechanism should be at this journal
  5. DLmalloc 内存分配算法
  6. JavaScript jQuery获取radio/下拉框的选中值
  7. OA(part2)--Outlier Evaluation Techniques
  8. 开源个小工具simple-repo
  9. Flutter fvm 多版本管理
  10. Zabbix 系统监控(二)Linux 系统监控
  11. python画彩色螺旋线_Python turtle 绘制彩色螺旋线
  12. Cocos Creator下删除AnySDK步骤
  13. eclipse 使用心得
  14. 存储在U盘中的文件被误删后怎么免费恢复
  15. 02java特性,编译与运行
  16. Flash视频播放器开发经验总结
  17. Ubuntu下VSCode使用等宽字体设置
  18. CRM客户关系管理分析模型——RFM模型
  19. linux startx 后返回命令行,输入命令: startx 反过来
  20. android计步器简书,自定义View-仿QQ运动步数进度效果

热门文章

  1. java rc2加密_急求java RC2加密算法
  2. 等待的操作过时_不会过时的6种网站seo优化操作
  3. 获取Linux内存、cpu、磁盘IO等信息
  4. Java集合:Map集合
  5. Linux环境下Flume的安装
  6. PowerDesigner15连接Oracle数据库并导出Oracle的表结构
  7. 深入理解Java的三种工厂模式
  8. Spring框架知识复习之二
  9. Keepalived 做负载均衡(简单实例)
  10. NHibernate利用Mindscape.NHibernateModelDesigner实现数据库与实体之间的转换及操作