From 7f884ab0a3eaa96239b5392b357137c26f4ba4dc Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Wed, 28 Oct 2026 03:19:57 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E8=AE=BE=E8=AE=A1=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=20-=20=E5=A4=96=E8=A7=82.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 小节标题改为中文,重新绘制类图,补充参考资料。 --- notes/pics/dp-facade.png | Bin 0 -> 109700 bytes notes/设计模式 - 外观.md | 18 +++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 notes/pics/dp-facade.png diff --git a/notes/pics/dp-facade.png b/notes/pics/dp-facade.png new file mode 100644 index 0000000000000000000000000000000000000000..738c1adc07a70176b8aa89803ba0a5c273747904 GIT binary patch literal 109700 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 literal 0 HcmV?d00001 diff --git a/notes/设计模式 - 外观.md b/notes/设计模式 - 外观.md index 517bd78a..66e0795a 100644 --- a/notes/设计模式 - 外观.md +++ b/notes/设计模式 - 外观.md @@ -1,17 +1,16 @@ ## 外观(Facade) -### Intent - +### 意图 提供了一个统一的接口,用来访问子系统中的一群接口,从而让子系统更容易使用。 -### Class Diagram +### 类图 +

+ +### 实现 +观看电影需要操作很多电器,使用外观模式实现一键看电影功能。

-### Implementation - -观看电影需要操作很多电器,使用外观模式实现一键看电影功能。 - ```java public class SubSystem { public void turnOnTV() { @@ -52,3 +51,8 @@ public class Client { ### 设计原则 最少知识原则:只和你的密友谈话。也就是说客户对象所需要交互的对象应当尽可能少。 + +## 参考资料 + +- 弗里曼. Head First 设计模式 [M]. 中国电力出版社, 2007. +- Gamma E. 设计模式: 可复用面向对象软件的基础 [M]. 机械工业出版社, 2007.