1. 云栖社区>
  2. PHP教程>
  3. 正文

工厂模式以及工厂方法

作者:用户 来源:互联网 时间:2017-12-01 10:24:45

方法模式工厂

工厂模式以及工厂方法 - 摘要: 本文讲的是工厂模式以及工厂方法, 2、工厂 接口中定义一些方法 实现接口的类实现这些方法 工厂类:用于实例化对象 优点:为系统结构提供了灵活的动态扩展机制,方便维护 3、工厂方法 工厂方法模式核心就是工厂类不在负责所有对象的创建,而是将具体创建的工作交给子类去做,成为了

2、工厂

接口中定义一些方法

实现接口的类实现这些方法

工厂类:用于实例化对象

优点:为系统结构提供了灵活的动态扩展机制,方便维护

3、工厂方法

工厂方法模式核心就是工厂类不在负责所有对象的创建,而是将具体创建的工作交给子类去做,成为了一个抽象工厂角色,他仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节


工厂模式代码:

<?phpinterface Skill{	function family();	function buy();}class Person implements Skill{	function family(){		echo '人族在辛苦的伐木<br/>';	}	function buy(){		echo '人族在使用钱买房子<br/>';	}	}class JingLing implements Skill{	function family(){		echo '精灵族在坎木<br/>';	}	function buy(){		echo '精灵在使用精灵币<br/>';	}}class factory{	static function createHero($type){		switch($type){			case 'person':				return new Person();				break;			case 'jingling':				return new JingLing();				break;		}	}}$person=factory::createHero('person');$jing=factory::createHero('jingling');$person->family();?>
工厂方法代码:

<?phpinterface Tell{	function call();	function receive();}class XiaoMi implements Tell{	function call(){		echo '我在使用小米手机打电话';	}	function receive(){		echo '我在使用小米手机接电话';	}}class HuaWei implements Tell{	function call(){		echo '我在使用华为手机';	}	function receive(){		echo '我在使用华为手机接电化';	}}interface Factory{	static function createPhone();	}class XiaoFactory implements Factory{	static function createPhone(){		return new XiaoMi();	}}class HuaWeiFactory implements Factory{	static function createPhone(){		return new HuaWei();	}}$xiaomi=XiaoFactory::createPhone();$xiaomi->call();?>



以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索方法 , 模式 , 工厂 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备