-
首先我们知道工厂的一般含义为生产东西,且能够生产一种或多种类型的东西。
-
应用:你有个需求需要生产多种类型的对象。且后续可能还要增加新的种类。
-
工厂方法模式解决了当代码关注于抽象类型时如何创建对象实例的问题,而这个类就是抽象类
-
<?php /** * Created by PhpStorm. * User: 43530 * Date: 2019/10/12 * Time: 4:10 * 工厂方法模式 */ /** * Class ApptEncode * 这是抽象基类,基类(父类的意思),派生类(子类的意思) * 之所以叫基类时因为类中不具体实现方法 * 都由子类实现 */ abstract class ApptEncode{ abstract function encode(); } /** * 假设我们在开发东西的时候,前端需要我们给出2中类型的数据格式json和text * 而且说后面还会增加新的数据格式HTML。 * 首先我们肯定要分别定义一个JSON类和TEXT类 */ class JsonEncoder extends ApptEncode{ public function encode() { /** * 这里是你实现Json的地方 */ // TODO: Implement encode() method. /** * PHP_EOL是换行符 不同系统环境下换行符不同 */ return "Json format".PHP_EOL; } } class TextEncoder extends ApptEncode{ public function encode() { /** *
PHP设计模式之工厂方法模式
于 2019-10-12 05:07:53 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)