PHP设计模式系列 - 工厂模式
2017-05-16 15:09
591 查看
工厂模式
提供获取某个对象实例的一个接口,同时使调用代码避免确定实例化基类的步骤。
工厂模式 实际上就是建立一个统一的类实例化的函数接口。统一调用,统一控制。
工厂模式是PHP项目开发中,最常用的设计模式,一般会配合单例模式一起使用,来加载php类库中的类。
应用场景
我们拥有一个Json类,String类,Xml类。
如果我们不使用工厂方式实例化这些类,则需要每一个类都需要new一遍,过程不可控,类多了,到处都是new的身影
引进工厂模式,通过工厂统一创建对象实例。
代码:
[php] view
plain copy
print?
<?php
//工厂模式 提供获取某个对象实例的一个接口,同时使调用代码避免确定实例化基类的步骤
//字符串类
class String {
public function write() {}
}
//Json类
class Json {
public function getJsonData() {}
}
//xml类
class Xml {
public function buildXml() {}
}
//工厂类
class Factory {
public static function create($class) {
return new $class;
}
}
Factory::create("Json"); //获取Json对象
提供获取某个对象实例的一个接口,同时使调用代码避免确定实例化基类的步骤。
工厂模式 实际上就是建立一个统一的类实例化的函数接口。统一调用,统一控制。
工厂模式是PHP项目开发中,最常用的设计模式,一般会配合单例模式一起使用,来加载php类库中的类。
应用场景
我们拥有一个Json类,String类,Xml类。
如果我们不使用工厂方式实例化这些类,则需要每一个类都需要new一遍,过程不可控,类多了,到处都是new的身影
引进工厂模式,通过工厂统一创建对象实例。
代码:
[php] view
plain copy
print?
<?php
//工厂模式 提供获取某个对象实例的一个接口,同时使调用代码避免确定实例化基类的步骤
//字符串类
class String {
public function write() {}
}
//Json类
class Json {
public function getJsonData() {}
}
//xml类
class Xml {
public function buildXml() {}
}
//工厂类
class Factory {
public static function create($class) {
return new $class;
}
}
Factory::create("Json"); //获取Json对象
相关文章推荐
- php设计模式学习系列(三)工厂模式
- PHP设计模式系列:简单工厂模式
- PHP设计模式-工厂系列(一)-简单工厂模式(静态工厂模式)
- php的设计模式学习系列(二)简单工厂模式
- PHP设计模式系列 - 工厂模式
- PHP设计模式-工厂系列(二)-工厂方法模式
- PHP设计模式系列 - 工厂模式
- PHP设计模式-工厂系列(三)-抽象工厂模式
- PHP设计模式-工厂系列(三)-抽象工厂模式
- PHP设计模式-工厂系列(一)-简单工厂模式(静态工厂模式)
- PHP设计模式-工厂系列(二)-工厂方法模式
- PHP设计模式系列 - 外观模式
- 深入理解JavaScript系列(28):设计模式之工厂模式
- php中使用接口实现工厂设计模式的代码
- PHP设计模式系列 - 迭代器
- PHP设计模式系列 - 数据访问对象模式
- Php设计模式之工厂模式(二)【工厂方法模式 Factory Method】
- 深入理解JavaScript系列(28):设计模式之工厂模式
- php使用接口实现工厂设计模式
- Php设计模式之工厂模式(一)简单工厂模式