门面设计模式php,php设计模式-门面模式(Facade Pattern)

门面模式概念

门面模式,是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使得子系统更容易使用。

引入门面角色之后,用户只需要直接与门面角色交互,用户与子系统之间的复杂关系由门面角色来实现,从而降低了系统的耦合度,遵从了迪米特法则

门面模式实现方法

定义一个具备所需接口的新类(门面类)

新类使用原来的系统

客户使用门面类对象与原系统打交道

门面模式实例<?php

interface OsInterface

{

public function halt();

public function getName(): string;

}

interface BiosInterface

{

public function execute();

public function waitForKeyPress();

public function launch(OsInterface $os);

public function powerDown();

}

class Facade

{

/**

* @var OsInterface

*/

private $os;

/**

* @var BiosInterface

*/

private $bios;

/**

* @param BiosInterface $bios

* @param OsInterface   $os

*/

public function __construct(BiosInterface $bios, OsInterface $os)

{

$this->bios = $bios;

$this->os = $os;

}

public function turnOn()

{

$this->bios->execute();

$this->bios->waitForKeyPress();

$this->bios->launch($this->os);

}

public function turnOff()

{

$this->os->halt();

$this->bios->powerDown();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值