设计模式-外观设计模式

ゝ一世哀愁。 2022-05-28 02:19 394阅读 0赞
  1. 外观设计模式(Facade),又称为门面设计模式。很好理解,先来举个例子
  2. 一位病人去医院看病,他要去挂号,然后检查,取药,医院是一个大系统,而病人需要和每一个子部门去打交道。比较麻烦。
  3. ![20180327232817737][]

而如果使用门面设计模式,就是在医院设置一个接待员,由接待员来帮助病人分别去和各个部门打交道。如下

20180327233235897

门面设计模式就是这么简单,下面再通过代码来实现。

  1. ModuleA{
  2. public void testA(){
  3. }
  4. }
  5. ModuleB{
  6. public void testB(){
  7. }
  8. }
  9. ModuleC{
  10. public void testC(){
  11. }
  12. }

没有使用门面设计模式是这样来调用的

  1. public class Customer{
  2. public static void main(String[] args){
  3. ModuleA moduleA=new ModuleA();
  4. moduleA.testA();
  5. ModuleB moduleB=new ModuleB();
  6. moduleB.testB();
  7. ModuleC moduleC=new ModuleC();
  8. moduleC.testC();
  9. }
  10. }

使用门面设计模式进行改造

先添加一个门面类,来封装模块

  1. public class Facade{
  2. public void test(){
  3. ModuleA moduleA=new ModuleA();
  4. moduleA.testA();
  5. ModuleB moduleB=new ModuleB();
  6. moduleB.testB();
  7. ModuleC moduleC=new ModuleC();
  8. moduleC.testC();
  9. }
  10. }

然后这样来调用

  1. public class Customer{
  2. public static void main(String[] args){
  3. Facade facade=new Facade();
  4. facade.test();
  5. }
  6. }

门面设计模式的好处是:1.松耦合2.简单易用,对外部屏蔽了底层的实现细节。

属于结构性的设计模式。

发表评论

表情:
评论列表 (有 0 条评论,394人围观)

还没有评论,来说两句吧...

相关阅读

    相关 设计模式 - 外观模式

    设计模式 - 外观模式 场景 小张搬家了,新的房间都是智能化,但是每个设备都是独立的,小张每次回家之前需要打开app分别打开每个设备,例如小张回家后的基本操作是开门

    相关 设计模式 - 外观模式

    定义:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这个子系统更加容易使用。 通过将子系统中一系列的接口进行组合形成一个更高层的接口,这样客户

    相关 设计模式——外观模式

    本文主要是讲述结构型模式中一个比较常用的模式-外观模式,这个模式呢,有个最大的特点将细粒度的对象包装成粗粒度的对象,应用程序通过 访问这个外观对象,来完成细粒度对象的调用,外