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

PHP设计模式 - 工厂模式

时间:2018-06-25 22:45:12      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:cti   factor   生产   auth   系统   ase   dump   creat   fun   

工厂模式是另一种非常常用的模式,正如其名字所示:确实是对象实例的生产工厂。某些意义上,工厂模式提供了通用的方法有助于我们去获取对象,而不需要关心其具体的内在的实现。

 

<?php

/**
 * Factory class[工厂模式]
 * @author ITYangs<ityangs@163.com>
 */
interface SystemFactory
{
    public function createSystem($type);
}

class MySystemFactory implements SystemFactory
{
    // 实现工厂方法
    public function createSystem($type)
    {
        switch ($type) {
            case ‘Mac‘:
                return new MacSystem();
            case ‘Win‘:
                return new WinSystem();
            case ‘Linux‘:
                return new LinuxSystem();
        }
    }
}

class System{ /* ... */}
class WinSystem extends System{ /* ... */}
class MacSystem extends System{ /* ... */}
class LinuxSystem extends System{ /* ... */}

//创建我的系统工厂
$System_obj = new MySystemFactory();
//用我的系统工厂分别创建不同系统对象
var_dump($System_obj->createSystem(‘Mac‘));//输出:object(MacSystem)#2 (0) { }
var_dump($System_obj->createSystem(‘Win‘));//输出:object(WinSystem)#2 (0) { }
var_dump($System_obj->createSystem(‘Linux‘));//输出:object(LinuxSystem)#2 (0) { }

 

PHP设计模式 - 工厂模式

标签:cti   factor   生产   auth   系统   ase   dump   creat   fun   

原文地址:https://www.cnblogs.com/taozi32/p/9226460.html

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