码迷,mamicode.com
首页 > Web开发 > 详细

php设计模式之工厂模式

时间:2016-04-15 00:01:38      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

工厂模式:提供某个对象的心的实例的一个接口,同时使调用代码避免确定实际实例化基类的步骤。

 

/**
* 工厂模式
*/
class CDFactory
{
    
    public static function create($type)
    {
        $class = strtolower($type)."CD";
        return new $class;
    }
}

 

/**
* 基本CD类
*/
class standardCD
{
    
    public function addSongs($songs)
    {
        # code...
    }
}

/**
* 增强型CD类
*/
class enhancedCD
{
    public function __construct()
    {
        $this->tracks[] = ‘DATA TRACK‘;
    }
    
    public function addSongs($songs)
    {
        # code...
    }
}

 

 

需要新的新建一个类即可,工厂模式完全不用动,即使功能需求有改变只需要改变对应的类就可以,这里和委托模式区别。

/**
 * 使用方法
 */
$type = ‘standard‘;

$cd = CDFactory::create($type);//  new standerdCD()
$cd->setBand($band);
$cd->setTitle($tltle);

 

php设计模式之工厂模式

标签:

原文地址:http://www.cnblogs.com/happig/p/5393422.html

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