zoukankan      html  css  js  c++  java
  • 设计模式——外观模式(FacadePattern)

    外观模式:为子系统中的一组接口提供一个一致的界面,次模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

    UML图:

    外观类:

    package com.cnblog.clarck;
    
    /**
     * 外观类 知道哪些子系统负责处理请求,将客户的请求代理给适当的子系统对象
     * 
     * @author clarck
     * 
     */
    public class Facede {
        private SubSystemOne one;
        private SubSystemTwo two;
        private SubSystemThree three;
        private SubSystemFour four;
    
        public Facede() {
            one = new SubSystemOne();
            two = new SubSystemTwo();
            three = new SubSystemThree();
            four = new SubSystemFour();
        }
    
        public void methodA() {
            System.out.println("方法组A ---------");
            one.methodOne();
            two.methodTwo();
            four.methodFour();
        }
    
        public void methodB() {
            System.out.println("方法组A ---------");
            two.methodTwo();
            three.methodThree();
        }
    }
    package com.cnblog.clarck;
    
    /**
     * 子系统一
     * 
     * @author clarck
     * 
     */
    public class SubSystemOne {
        public void methodOne() {
            System.out.println("子系统方法一");
        }
    }
    package com.cnblog.clarck;
    
    /**
     * 子系统二
     * 
     * @author clarck
     * 
     */
    public class SubSystemTwo {
        public void methodTwo() {
            System.out.println("子系统方法二");
        }
    }
    package com.cnblog.clarck;
    
    public class SubSystemThree {
        public void methodThree() {
            System.out.println("子系统方法三");
        }
    }
    package com.cnblog.clarck;
    
    /**
     * 子系统方法四
     * 
     * @author clarck
     * 
     */
    public class SubSystemFour {
        public void methodFour() {
            System.out.println("子系统方法四");
        }
    }
    package com.cnblog.clarck;
    
    /**
     * 测试类
     * 
     * @author clarck
     * 
     */
    public class Client {
    
        public static void main(String[] args) {
            Facede facede = new Facede();
    
            facede.methodA();
            facede.methodB();
        }
    
    }
  • 相关阅读:
    2013年4月20日
    关于"退耦"
    关于PCB原理图中的FBFB是磁珠的符号电子元器件电路图
    搜索技巧总结
    收集 QQ旋风离线下载帐号
    转载一篇日志
    硬件原理图和实物对比理解_EM310模块电路
    硬件原理图和实物对比理解_zigbee模块
    硬件原理图和实物对比理解_LPC电源模块
    word无法读取此文件,文档可能已损坏_可能的补救方法
  • 原文地址:https://www.cnblogs.com/tanlon/p/3413525.html
Copyright © 2011-2022 走看看