工厂方法模式

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

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

interface

<?php
namespace localinterfaces;

interface Factory
{
public function createAction();
}


这个声明工厂方法

实例A1
<?php

namespace localinterfaces;
use localinterfacesFactory;
use localinterfacesA1;
class Action1 implements Factory
{
public function createAction()
{
return new A1();
}
}



实例A2
<?php

namespace localinterfaces;
use localinterfacesFactory;
use localinterfacesA2;
class Action2 implements Factory
{
public function createAction()
{
return new A2();
}
}


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

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





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