PHP 常见工厂设计模式
2017-08-23 19:53
633 查看
一、工厂模式
是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。
下面代码为显示工厂类的一个示列。等式的服务器端包括两个部分:数据库和一组 PHP 页面,这些页面允许您添加反馈、请求反馈列表并获取与特定反馈相关的文章。
IUser 接口定义用户对象应执行什么操作:
IUser 的实现称为 User:
UserFactory 工厂类则创建 IUser 对象:
测试代码会向工厂请求
有一种工厂模式的变体使用工厂方法。类中的这些公共静态方法构造该类型的对象。如果创建此类型的对象非常重要,此方法非常有用。例如,假设您需要先创建对象,然后设置许多属性。此版本的工厂模式会将该进程封装在单个位置中,这样,不用复制复杂的初始化代码,也不必将复制好的代码在在代码库中到处粘贴。
是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。
下面代码为显示工厂类的一个示列。等式的服务器端包括两个部分:数据库和一组 PHP 页面,这些页面允许您添加反馈、请求反馈列表并获取与特定反馈相关的文章。
IUser 接口定义用户对象应执行什么操作:
interface IUser { function getName(); }
IUser 的实现称为 User:
class User implements IUser { public function __construct( $id ) { } public function getName() { return "Jack"; } }
UserFactory 工厂类则创建 IUser 对象:
class UserFactory { public static function Create( $id ) { return new User( $id ); } }
测试代码会向工厂请求
User对象,并输出
getName方法的结果:
$pr = UserFactory::Create( 1 ); echo( $pr->getName()."\n" );
有一种工厂模式的变体使用工厂方法。类中的这些公共静态方法构造该类型的对象。如果创建此类型的对象非常重要,此方法非常有用。例如,假设您需要先创建对象,然后设置许多属性。此版本的工厂模式会将该进程封装在单个位置中,这样,不用复制复杂的初始化代码,也不必将复制好的代码在在代码库中到处粘贴。
interface IUser //接口 { function getName(); } class User implements IUser { public static function Load( $id ) //静态函数 { return new User( $id ); } public static function Create( ) //静态函数 { return new User( null ); } public function __construct( $id ) { }//构造函数 public function getName() { return "Jack"; } } $uo = User::Load( 1 ); echo( $uo->getName()."\n" );
相关文章推荐
- php常见设计模式(一)——单例,模版,工厂,注册树
- PHP常见的设计模式之:工厂模式
- PHP 常见工厂设计模式
- PHP 常见工厂设计模式
- 五种常见的PHP设计模式
- php模式设计之 工厂模式
- 介绍php设计模式中的工厂模式
- 实例讲解PHP设计模式编程中的简单工厂模式
- JavaScript中常见的设计模式(1)工厂模式
- 浅谈常见设计模式--单例模式 简单工厂模式
- php模式设计之 工厂模式
- 五种常见的 PHP 设计模式
- 五种常见的 php设计模式
- 五种常见的PHP设计模式
- Php设计模式之工厂模式(二)【工厂方法模式 Factory Method】
- 基于php设计模式中工厂模式详细介绍
- API开发第二篇:PHP的设计模式之工厂模式
- 五种常见的PHP设计模式
- php设计模式----工厂模式
- PHP设计模式之:工厂模式