设计模式(十一) |
您所在的位置:网站首页 › 英语教学模式定义及特点 › 设计模式(十一) |
文章目录
前言
正文
一、定义
二、情景假设
三、情景分析
四、模式结构及分析
(一) 模式结构
(二) 模式分析
(1) 模式特点
(2) 模式缺点
五、使用情景
六、延申及拓展
总结
前言
文章内容主要参考了刘伟主编的《设计模式(第2版)》,同时也结合了自己的一些思考和理解,希望能帮到大家。 本篇文章讲解的是外观模式,模式比较简单。 正文 一、定义外观模式(Facade Pattern):外部与子系统的通信通过一个统一的外观对象进行,为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。 一个客户类需要和多个业务类交互,有时候这些需要交互的业务类会作为一个整体出现,这时引入一个新的外观类(Facade)来负责和多个业务类【子系统(Subsystem)】进行交互,而客户类只需与外观类交互,客户类与子系统之间原有的复杂引用关系由外观类来实现,从而降低了系统的耦合度。没有外观类,客户类需要和多个子系统之间进行复杂的交互,系统耦合度大。 现在考察一个电源总开关的例子,以便进一步说明外观模式。为了使用方便,一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。通过该电源总开关可以同时控制上述所有电器设备,使用外观模式设计该系统。 外观模式其实主要针对的就是客户端,对于客户端与子系统交互,把错综复杂的情况进行封装,只留有几个“小开口透风”即可,既可以进行统一的操作,又便于客户端操作。 三、情景分析关于上面情景的类图(具体分析在下面) 首先设计子系统 //子系统Light public class Light { private Srtring position; public Light(String postion){ this.position = position; } public void on(){ System.out.println(this.positioin + "灯打开!"); } public void off(){ System.out.println(this.positioin + "灯关闭!"); } } ```java //子系统Fan public class Fan { public void on( |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |