zoukankan      html  css  js  c++  java
  • 外观模式

    优点:

    1.他对客户端屏蔽了子系统的组件,减少了客户端所需处理的对象数组,并使子系统使用更加容易,通过引入外观类客户端代码将变得很简答,与之关联的对象也很少  

    2.他实现了子系统和客户端之间的松耦合关系,这使得子系统的内部变化不会影响到调用他的客户端,只需调整它的外观类即可    

    3.一个子系统的修改对其他子系统没有任何影响,而且子系统内部变化不会影响其他外观对象

    缺点:

    1.不能很好的限制客户端直接使用子系统,如果对客户端子系统作太多的限制则减少了可变性和灵活性    

    2.如果设计不当,增加新的子系统可能需要修改外观类的源代码,这就违背了开闭原则     

    使用环境:

    1.当要为访问一些列复杂的子系统提供一个简单入口是,可以使用外观模式  

     2.客户端程序与子系统之间存在很大的依赖性,引入外观类可将子系统子系统与客户端解耦,从而提高了子系统的独立性和可移植性    

    3.在层次化结构中,可以使用外观模式定义系统中每一层的入口,层与之间不直接产生联系,而通过外观类建立联系,降低层之间的耦合度

    1 package com.shanghai.wanson.designpattern;
    2 
    3 public class subSystem01 {
    4     public void methon1(){
    5         System.out.println("子系统01方法被调用");
    6     }
    7 }
    1 package com.shanghai.wanson.designpattern;
    2 
    3 public class subSystem02 {
    4     public void methon2(){
    5         System.out.println("子系统02方法被调用");
    6     }
    7 }
    1 package com.shanghai.wanson.designpattern;
    2 
    3 public class subSystem03 {
    4     public void methon3(){
    5         System.out.println("子系统03方法被调用");
    6     }
    7 }
     1 package com.shanghai.wanson.designpattern;
     2 
     3 public class Facade {
     4     private subSystem01 system01=new subSystem01();
     5     private subSystem02 system02=new subSystem02();
     6     private  subSystem03 system03=new subSystem03();
     7 
     8     public void method(){
     9         system01.methon1();
    10         system02.methon2();
    11         system03.methon3();
    12     }
    13 }
    1 package com.shanghai.wanson.designpattern;
    2 
    3 public class Driver {
    4     public static void main(String[] args) {
    5         Facade facade =new Facade();
    6         facade.method();
    7     }
    8 }
  • 相关阅读:
    自写简单弹出框
    eclipse中debug模式不能启动运行,run运行模式却能启动运行!
    事务特性简单理解
    Java虚拟机4:内存溢出
    Java虚拟机3:常用JVM命令参数
    Java虚拟机2:Java内存区域及对象
    Eclipse技巧
    js常用的原生方法
    JavaScript调试小技巧
    html 锚点的使用
  • 原文地址:https://www.cnblogs.com/wq-9/p/10256988.html
Copyright © 2011-2022 走看看