码迷,mamicode.com
首页 > 其他好文 > 详细

简单工厂模式

时间:2018-09-10 21:21:29      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:end   OGGS   fun   data   new   创建者   抽象   app   简单工厂   

代码示例:

//产品抽象基类
abstract class ApptEncoder
{
	abstract public function encode();
}
//产品子类1
class BloggsApptEncoder extends ApptEncoder
{
	public function encode()
	{
		return "Appointment data encode in BloggsCal format\n";
	}
}
//产品子类2
class MegaApptEncoder extends ApptEncoder
{
	public function encode()
	{
		return "Appointment data encode in MegaCal format\n";
	}
}

//创建者
class CommsManager
{
	public function getApptEncoder($type)
	{
		switch($type)
		{
			case ‘Bloggs‘:
				return new BloggsApptEncoder();
			case ‘Mega‘:
				return new MegaApptEncoder();
		}
		
	}
}

$manager = new CommsManager();
//生成产品子类1对象
$encoder1 = $manager->getApptEncoder(‘Bloggs‘);
echo $encoder1->encode();
//生成产品子类2对象
$encoder2 = $manager->getApptEncoder(‘Mega‘);
echo $encoder2->encode();

  

简单工厂模式

标签:end   OGGS   fun   data   new   创建者   抽象   app   简单工厂   

原文地址:https://www.cnblogs.com/wujuntian/p/9622779.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!