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

工厂方法模式

时间:2018-11-06 00:44:48      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:工厂   客服   namespace   延迟   实例化   决定   local   记录   优点   

工厂方法模式和简单工厂类似 不过客服了简单工厂违反开闭原则的缺点,又保持了封装对象创建过程的优点。

 

定义 :一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法是一个类的实例化延迟到子类。

interface

<?php
namespace local\interfaces;

interface Factory
{
public function createAction();
}


这个声明工厂方法

实例A1
<?php

namespace local\interfaces;
use local\interfaces\Factory;
use local\interfaces\A1;
class Action1 implements Factory
{
public function createAction()
{
return new A1();
}
}



实例A2
<?php

namespace local\interfaces;
use local\interfaces\Factory;
use local\interfaces\A2;
class Action2 implements Factory
{
public function createAction()
{
return new A2();
}
}


客户端代码
public function actionF1()
{
$a1 = new Action2();
$a1->createAction();
}

写的很笼统 权当给自己做一个简易的记录 近期会抽空写一个关于工厂方法的详细运用





工厂方法模式

标签:工厂   客服   namespace   延迟   实例化   决定   local   记录   优点   

原文地址:https://www.cnblogs.com/shiyongzhe/p/9912323.html

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