php-门面模式实现
概述
门面模式(外观模式)(Facade Pattern):外部与子系统的通信必须通过一个统一的门面对象进行。为子系统提供了一个一直的对象接口,门面模式定义了一个高层接口,这个接口使得子系统使用起来更加方便。
这里我们还是以摩托制造厂为例,现在有一个业务场景,我们需要针对踏板摩托车开通线上个人定制业务。我们希望客户可以定制自己的摩托车,从付款到生产制造以及交付一条龙服务。
模式结构
- MotorcycleProduce-摩托组装抽象类:建立摩托组装标准工艺
- MotocycleProduct -摩托车产品本身
- MotorcycleScooter-踏板摩托车组装
- Director-安排生产线开始组装摩托
- Order-订单类
- Pay-支付类
- MotorFace-摩托门面
UML图例
代码实例
<?php
namespace Facade;
//抽象类-定义生产摩托车流水线标准 Target 目标类
interface MotorcycleProduce
{
//发动机方法
public function addEngine();
//车身方法
public function addBody();
//车轮方法
public function addWhell();
//获取摩托
public function getMotor();
//自定义部分
public function addOther(string $other);
}
//摩托车产品本身
class MotocycleProduct{
private $motor = [
"engine"=>"",
"body"=>"",
"whell"=>"",
"bodyColor"=>"blue",
"other"=>""
];
//新增发动机零部件
public function</