美文网首页
了解外观模式

了解外观模式

作者: 一条大狼狗 | 来源:发表于2018-08-11 17:08 被阅读4次

                  java 设计模式 ------外观模式


    Java中一共有23种设计模式,每种设计模式各有特点,我们主要来说一下外观模式。

当然,学习外观模式,首先应该了解一下,什么是外观模式?

外观模式:

      Facade模式,也叫做外观模式,是由GoF提出的23种设计模式中的一种,Facade模式为一

组具有类似功能的类群,比如说类库,子系统等,提供一个一致的简单的界面,这个一致的简

单界面就叫做Facade模式。这是从定义上说。.

  根据自己的语言,通俗点讲,也就是:

      有一组类,他们都具有类似的功能,我们会为这些类统一的提供一个简单的界面,来服务

客户端,这就叫做外观模式。也可以说是:为子系统中的一组接口提供一个一致的界面,此

模式定义了一个高层接口。这个接口使得这一子系统更加容易使用。

外观模式的核心:为子系统提供统一的入口,封装子系统的复杂性,便于客户端调用。

接下来我们用代码来练一下:

  //1子系统

  public class System1 {

   /** 1子系统实现功能*/

      public void doSomething() {

      System.out.println("实现1子系统功能");

   }

}

   //2子系统

    public class System2 {

       /** 2子系统实现功能*/

       public void doSomething() {

      System.out.println("实现2子系统功能");

     }

}

    // 3子系统  

    public class SystemC {

       /** 3子系统实现功能*/

        public void doSomething() {

        System.out.println("实现3子系统功能");

     }

}

  其次我们新建一个给客户端体提供服务的简单界面类 

    Facade.java

   public class Facade {

            private System1 system1;

            private System2 system2;

            private System3 system3;

            public Facade() {

                  system1 = new System1();

                  system2 = new System2();

                   system3 = new System3();

           }

          public void do123() {

               this.system1.doSomething();

               this.system2.doSomething();

               this.system3.doSomething();}

         }

最后我们建立客户端类

MainClass.java

   public class MainClass {

          public static void main(String[] args) {

              Facade facade = new Facade();

              facade.do123();

       }

}

   从上面的代码我们可以知道,System1.java、System2.java、System3.java 具有相似的d

o123的功能的类。

而Facade可以统一的提供了一个服务客户端的do123的方法,可以看成是一个简单的界面。

接下来用图片来说明一下:

    可以利用的界面的效果说明这个问题:在一个界面中我们需要对界面的各个部分进行初

始化的操作,实现相似的功能,标题栏进行初始化返回键,初始化标题,初始化标题栏的背

景颜色等等。

     此种设计还是有一定的局限性,针对一些固有的操作很方便,比如经常做一些固定的

操作,可以使客户端和子系统进行隔离,但是如果我们要经常增加或者删除一些子系统

,这样我们还得对外观类进行更改,这还是违反了开闭原则。

相关文章

  • 了解外观模式

    java 设计模式 ------外观模式 Java中一共有23种设计模式,每种设计模式各有特...

  • 外观模式,了解一二

    外观模式,它又称什么模式?它是什么类型的模式?它的使用场景,你知道吗? 外观模式(facade pattern),...

  • 外观模式

    定义 在外观模式中有几个角色: 外观角色:外观角色了解子系统所有的方法,外观角色也有自己的方法,客户端通过调用外观...

  • 第4章 结构型模式-外观模式

    一、外观模式的简介 二、外观模式的优缺点 三、外观模式的场景 四、外观模式的实例

  • 外观模式-Facade

    外观模式是为了解决类与类之间依赖关系的,外观模式将类间关系放在一个Facade类中,降低了类类之间的耦合度,该模式...

  • Android设计模式——外观模式(七大结构型)

    1.外观模式介绍 外观模式(Facade Pattern),是七大结构型设计模式之一。 外观模式运...

  • 设计模式[9]-外观模式-Facade Pattern

    1. 外观模式 外观模式(Facade Pattern),又称为门面模式,是非常常用的结构性设计模式。外观模式使得...

  • 外观模式

    一、外观模式介绍 二、外观模式代码实例

  • 结构型模式:外观模式

    文章首发:结构型模式:外观模式 七大结构型模式之五:外观模式。 简介 姓名 :外观模式 英文名 :Facade P...

  • 设计模式详解——外观模式

    本篇文章介绍一种设计模式——外观模式。本篇文章内容参考《JAVA与模式》之门面模式,外观模式,深入浅出外观模式(二...

网友评论

      本文标题:了解外观模式

      本文链接:https://www.haomeiwen.com/subject/gxydbftx.html