type
status
date
slug
summary
tags
category
icon
password
整理定义
中文名称:外观模式
英文名称:facade pattern
出处 | 定义 |
中国大百科全书 | 为一个子系统的所有接口对外提供一致的高层访问接口,使该子系统更便于使用的一种设计模式。 |
设计模式 | 外观模式是一种结构型设计模式, 能为程序库、 框架或其他复杂类提供一个简单的接口。 |
百度百科 | Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。 |
维基百科 | 外观模式(也拼写为 façade)是面向对象编程中常用的软件设计模式。 与建筑中的外观类似,外观是一个充当前端界面的对象,掩盖了更复杂的底层或结构代码。ode |
复述展开
What is facade pattern?
外观模式使一种结构型对象设计模式。它通过为对象的所有接口对外提供一致的高层次访问结构,使子系统更容易使用。它可以掩藏更复杂的底层代码,隐藏子系统的复杂性。
外观模式结构
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fdea38628-64dc-40fd-8d17-2efa87e3d554%2F9e4b6a6c-18f1-49e6-9528-1c0404a98a50%2FUntitled.png?table=block&id=e2258505-4f1a-4f23-a007-6fb727e04a2f&t=e2258505-4f1a-4f23-a007-6fb727e04a2f&width=600&cache=v2)
- 外观 (Facade) 提供了一种访问特定子系统功能的便捷方式, 其了解如何重定向客户端请求, 知晓如何操作一切活动部件。
- 创建附加外观 (Additional Facade) 类可以避免多种不相关的功能污染单一外观, 使其变成又一个复杂结构。 客户端和其他外观都可使用附加外观。
- 复杂子系统 (Complex Subsystem) 由数十个不同对象构成。 如果要用这些对象完成有意义的工作, 你必须深入了解子系统的实现细节, 比如按照正确顺序初始化对象和为其提供正确格式的数据。
子系统类不会意识到外观的存在, 它们在系统内运作并且相互之间可直接进行交互。
- 客户端 (Client) 使用外观代替对子系统对象的直接调用。
优缺点
优点:
- 你可以让自己的代码独立于复杂子系统。
缺点:
- 外观可能成为与程序中所有类都耦合的上帝对象。
理解体会
通常外观模式使为了使系统更加简单,所以一个对象即可。
外观模式需要对系统对象的所有接口进行作用,可能会增加耦合度。
快速跳转链接
【概念解析】启动
【概念解析】Day 1 - 10
【概念解析】Day 11 - 20
【概念解析】Day 21 - 30
【概念解析】Day 31 - 40
【概念解析】Day 41 - 50
【概念解析】Day 51 - 60
【概念解析】Day 61 - 70
【概念解析】Day 71 - 80
【概念解析】Day 81 - 90
- 作者:eachenkuang
- 链接:https://kuangyichen.com/article/industry-day37
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。