设计模式之外观模式php,PHP设计模式:外观模式
前言
菜鸟教程对外观模式的描述是:外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。
这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。
代码
class Images
{
public function methodA()
{
echo '图片类中的复杂逻辑A' . PHP_EOL;
}
public function methodB()
{
echo '图片类中的复杂逻辑B' . PHP_EOL;
}
public function methodC()
{
echo '图片类中的复杂逻辑C' . PHP_EOL;
}
}
class Text
{
public function methodA()
{
echo 'Text类中的复杂逻辑A' . PHP_EOL;
}
public function methodB()
{
echo 'Text类中的复杂逻辑B' . PHP_EOL;
}
public function methodC()
{
echo 'Text类中的复杂逻辑C' . PHP_EOL;
}
}
class Facade
{
private $images;
private $text;
public function __construct()
{
$this->images = new Images();
$this->text = new Text();
}
public function methodOne()
{
$this->images->methodA();
$this->text->methodB();
}
public function methodTwo()
{
$this->images->methodA();
$this->text->methodA();
$this->images->methodC();
}
}
$facade = new Facade();
$facade->methodOne();
$facade->methodTwo();
输出
image.png
说白了外观模式就是对一个或者多个类进行封装。以降低客户端调用时候的复杂性。上述的例子表示Facade类对Images类和Text类进行了封装,客户端只需要调用Facade类。
设计模式之外观模式php,PHP设计模式:外观模式相关推荐
- java设计模式 订阅模式_Java中的外观设计模式
java设计模式 订阅模式 立面是指建筑物的外观. 当穿过街道时,我们所看到的只是建筑物的外观. 该工作面抽象了建筑物的所有复杂实现细节. 同样, 外观设计模式旨在为子系统中的一组接口提供统一的接口. ...
- 带你认识4种设计模式:代理模式、装饰模式、外观模式和享元模式
摘要:本文我们主要介绍结构型模式中的代理模式.装饰模式.外观模式和享元模式. 本文分享自华为云社区<快来,这里有23种设计模式的Go语言实现(三)>,原文作者:元闰子 . 设计模式(Des ...
- java helper 设计模式_必知必会的 Java 设计模式入门知识(十):外观模式
外观模式 GitHub 地址:yifanzheng/design-patterngithub.com 外观模式(Facade Design Pattern),在 GoF 的<设计模式>一 ...
- 设计模式GOF23之-------------------结构型模式(适配器模式、代理模式、桥接模式、装饰模式、组合模式、外观模式、享元模式)
一 结构型模式 二 适配器模式 下面我将用代码模拟键盘usb接口和ps/2的转接器 的适配器过程: 首先定义客户需求: package GOF23;public interface Target {v ...
- Java设计模式(四):结构性模式(适配器模式、桥接模式、装饰模式、组合模式、外观模式、亨元模式、代理模式)
目录 一· 适配器设计模式 1.1 现实生活中的适配器例子 1.2 基本介绍 1.3 工作原理 1.4 类适配器模式 1.5 对象适配器模式 1.6 接口适配器模式 1.7 适配器模式在 Spring ...
- 设计模式:结构型模式-桥接、外观、组合、享元模式
结构型模式 结构型模式描述如何将类或对象按某种布局组成更大的结构.它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者采用组合或聚合来组合对象. 由于组合关系或聚合关系比继承关系耦 ...
- JavaScript设计模式(三):结构型设计模式-外观模式、适配器模式、代理模式、装饰者模式、桥接模式、组合模式、享元模式
JavaScript设计模式 - 结构型设计模式 套餐服务-外观模式 外观模式(Facade) 水管弯弯-适配器模式 适配器模式(Adapter) 适配异类框架 参数适配 牛郎织女-代理模式 代理模式 ...
- 设计模式(八): 从“小弟”中来类比外观模式(Facade Pattern)
在此先容我拿"小弟"这个词来扯一下淡.什么是小弟呢,所谓小弟就是可以帮你做一些琐碎的事情,在此我们就拿"小弟"来类比"外观模式".在上面一篇 ...
- 《Head First设计模式》第七章-适配器模式、外观模式
适配器模式 适配器模式是什么,你一定不难理解,因为现实中到处都是.比如说: 如果你需要在欧洲国家使用美国制造的笔记本电脑,你可能需要使用一个交流电的适配器-- 当你不想改变现有的代码,解决接口不适配问 ...
- 【设计模式_青春版】结构型|外观模式
文章目录 外观模式(结构型) 外观模式又名门面模式 结构 外观模式案例 代码实现 优缺点 优点 缺点 使用场景 在tomcat中的 外观模式(结构型) 外观模式又名门面模式 是一种通过为多个复杂的子系 ...
最新文章
- HttpClient 如何设置请求接口等待时间
- linux-security-limits
- 如何产生QPSK信号
- c++ 函数返回空_Python all() 函数
- Angular 小试牛刀[1]:Getting Started
- [HDU] 2611 Sequence two -优先队列和一般队列一起使用。
- 软件工程中需要学习和掌握的软件都有哪些_9个B端产品经理需要懂的技术
- 二叉搜索树+快速排序 查到文本中出现频率最多的100个词 【留学生作业】
- 上海盐城生物php招聘_上海祥源生物科技招聘国际商务专员,中英文熟练
- Xcode 证书生成、设置、应用(转)
- Python: str.split()和re.split()的区别
- 服务器对大文件传输有限制怎么办,20G、100G、200G大文件怎么通过网络远程传输,一招快速解决网络传输大文件...
- docker file镜像分层
- 全球最牛逼的并发架构,抖音排第二,它排第一!
- Android中运行免安装app,适用于免安装应用的 CTS
- 实现图片染色效果的三种方式
- Python:Excel自动录入、Excel表格快速合并(附有源代码)
- 超级记忆/图像数字记忆 110位数字图像转换表 01-10
- 聚合函数,数学、字符串、函数,时间日期函数
- 大学计算机打算及目的,大学生计算机实习目的和要求
热门文章
- mysql在计算机管理的服务里启动不了
- Spring Boot Favicon配置
- jquery给input赋值
- 【设计模式自习室】适配器模式
- mysql敤 罚_vue2浣跨敤echarts
- 【2023.5.3~2023.5.9】CTF刷题记录
- 如何制作和使用模板减少Origin绘图工作
- 应届毕业生该如何找工作
- tf2连服务器一直被中断,服务器崩溃致比赛延期 Kyle等解说声讨V社
- Android系统之路(初识MTK) ------ (详细精华)添加客供系统壁纸去除系统动态壁纸/Camera默认fine/remove android beam