标签:工厂 客服 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