时间:2021-07-01 10:21:17 帮助过:3人阅读
下面代码为显示工厂类的一个示列。等式的服务器端包括两个部分:数据库和一组 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工厂设计模式 的详细内容,更多请关注Gxl网其它相关文章!