PHP工厂模式

原创 2018年04月15日 10:42:43

什么是工厂模式

工厂模式:根据不同的类名,创建不同类的对象。

就是生产不同类的对象的工厂,避免使用new关键词。

还可以理解为:改变了创建对象的方式

工厂模式设计要求

工厂模式,可以设计一个工厂类

工厂类有一个私有的静态的属性,用来保存不同类的对象

工厂类有一个公共的静态的实例化对象的方法

代码:

//工厂模式(单例的)

final class Factory{
	//私有的静态的保存对象的数组属性
	static private $arr = array();
	//公共的静态的实例化对象的方法
	public static function getInstance($className){
		//判断当前类的对象是否存在
		if(!isset(self::$arr[$className])){
			self::$arr[$className] = new $className();
		}
		return self::$arr[$className];
	}
}



PHP设计模式之——工厂模式

在开发大型系统过程中,往往会出现这样一种情况: 我有一部分基础数据,是类classA是从数据库A读取出来的,其他很多的功能都是基于这个基础数据来操作的。现在呢,我想把数据从数据库A变成从另外的数据源去...
  • mysteryhaohao
  • mysteryhaohao
  • 2016-04-18 17:11:08
  • 5819

简单工厂模式之php实现

简单工厂模式又叫静态工厂方法模式,主要作用是通过一个简单工厂类来实例化(创建)各个类的对象,而不需要通过new来实例化对象。优点在于,工厂类中包含了一定的逻辑判断,会根据客户端的选择条件动态实例化相关...
  • weichaolei2
  • weichaolei2
  • 2016-04-06 16:35:29
  • 546

设计模式之PHP项目应用——简单工厂模式设计计算器

1 简单工厂模式简介     简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 2 模式组成 1)工厂(Creator)角色 ...
  • CleverCode
  • CleverCode
  • 2015-05-13 14:41:50
  • 3151

php面向对象(工厂模式与单例模式)

今天刚学习了php的设计模式,一个是工厂模式而另一个是单例模式,工厂模式设计出来就是为了一种方便创建对象而做出来的。还有一个是单例模式,单例模式的设计有些比较难以理解,我们必须一步一步的分析:单例类的...
  • peterjiajia
  • peterjiajia
  • 2015-11-11 14:42:13
  • 719

PHP设计模式系列(四):工厂方法模式

工厂方法模式工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory...
  • qq_32300363
  • qq_32300363
  • 2017-04-29 14:42:04
  • 562

PHP工厂模式和单例模式

设计模式无论任何语言都是通用 的,java的设计模式达23种之多,PHP种也有一些设计模式,下面简单说下工厂模式和单例模式. 首先准备文件结构大概是下面这个样子: Object.php文件: ...
  • gaoxuaiguoyi
  • gaoxuaiguoyi
  • 2016-03-11 23:14:35
  • 822

3. php的设计模式:从支付开始谈工厂模式

单纯的讲设计模式非常的没有意思,而且不利于理解与实践使用。我通过将工厂模式与开发中集成支付的场景进行结合讲解,相信大家能够很好的后面工作中实践工厂模式。...
  • hel12he
  • hel12he
  • 2016-06-18 02:05:31
  • 1085

慕课网----大话PHP设计模式 三(三种基本设计模式-工厂模式,单例模式,注册树模式)

1)工厂模式: 工厂方法或者类生成对象,而不是代码中直接new 多用来生成对象 好处。如果很多个文件都使用了这个类的话,如果修改需要去每个文件下都进行修改,而使用工厂模式的话,则只用在类里面修改...
  • Rodgexue
  • Rodgexue
  • 2016-02-26 10:36:46
  • 3236

php 设计模式(注册器模式+工厂模式+数据库映射模式,单例模式+工厂模式+注册器模式混合使用)

//适配器模式 可以将不同的函数接口封装成统一的api,比如mysqli和pdo interface Database{ public function connect($host, $nam...
  • qq_29676303
  • qq_29676303
  • 2017-06-29 04:03:21
  • 264

php设计模式学习系列(四)--抽象工厂模式

声明:本系列博客参考资料《大话设计模式》,作者程杰。         前面我们介绍了简单工厂和工厂方法设计模式,今天我们学习最后一个工厂——抽象工厂。   ...
  • lijiashuai456
  • lijiashuai456
  • 2016-03-21 20:57:24
  • 198
收藏助手
不良信息举报
您举报文章:PHP工厂模式
举报原因:
原因补充:

(最多只允许输入30个字)