PHP-设计模式详解(外观模式)

外观模式是一种设计模式,它提供了一个统一的接口,用于子系统的多个接口,降低了系统的复杂性并减少了模块间的依赖。通过创建一个 facade 类,对外暴露简洁的接口,隐藏内部的具体实现。在 PHP 示例中,`Facade` 类整合了 `Run` 和 `Walk` 子系统的功能,使得客户端可以更方便、安全地使用这些功能。然而,该模式不遵循开闭原则,当需要修改子系统时,可能需要更新外观类,增加了修改难度。

介绍

为子系统的一组接口提供一个一致的对外接口,隐藏系统的复杂性。

何时使用:定义系统的入口

优点:

  1. 减少系统依赖;
  2. 提高灵活性和安全性。

缺点:

不符合开闭原则,修改比较麻烦。

代码实现:

<?php
class Run{
        function sportRun(){
                echo 'run<br>';
        }
}

class Walk{
        function sportWalk(){
                echo 'walk<br>';
        }
}

class Facade{
        private $run;
        private $walk;

        function __construct(){
                $this->run = new Run();
                $this->walk = new Walk();
        }

        function facadeRun(){
                $this->run->sportRun();
        }

        function facadeWalk(){
                $this->walk->sportWalk();
        }
} 

$facade = new Facade;
$facade->facadeRun();
$facade->facadeWalk();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值