Content

PHP结构型模式之外观模式(php常用设计模式和应用场景)不要告诉别人

文章摘要

这篇文章描述了一个PHP程序的结构,展示了如何通过一个外部类(Facade)来整合多个子系统。文章中定义了三个子类(SubSystemA、SubSystemB、SubSystemC),每个子类都有一个操作方法。Facade类继承了这三个子类,并在构造函数中为每个子类实例化了一个对象。Facade的operation方法调用每个子类的操作方法,从而实现了对外的交互。文章还展示了客户端代码,展示了如何通过Facade类调用这些操作方法。文章重点突出了Facade作为整合多个子系统的聚合对象的作用,以及其在客户端代码中的应用。

<?php // 子系统A class SubSystemA { public function operationA() { echo “SubSystemA operation.\n”; } } // 子系统B class SubSystemB { public function operationB() { echo “SubSystemB operation.\n”; } } // 子系统C class SubSystemC { public function operationC() { echo “SubSystemC operation.\n”; } } // 外观类 class Facade { private $subSystemA; private $subSystemB; private $subSystemC; public function __construct() { $this->subSystemA=new SubSystemA(); $this->subSystemB=new SubSystemB(); $this->subSystemC=new SubSystemC(); } public function operation() { $this->subSystemA->operationA(); $this->subSystemB->operationB(); $this->subSystemC->operationC(); } } // 客户端代码 $facade=new Facade(); $facade->operation();