• 公用技术——设计模式17——行为型模式——门面模式


    1、概念

      为了系统的易用性,提供一个统一的接口整合所有子系统的功能。

      在我们的日常生活中,也随处可见这样的示例,例如去办理业务时,公司设置的前台,统一接待处,它的作用是为了我们便捷的找到对应的业务部门去办理相关的业务。

      统一接口的职责与统一接待处的职责是相似的,它是子功能的导航,起到整合的作用,它本身不实现任何的功能。

      统一接口与子系统接口之间可以是继承关系,也可以是实现类的组合关系。

    2、UML图

      

    3、代码

      FacadeInterface,扮演着统一接口,主要的职责是整合子系统的功能

    /**
     * 
     * @Title: FacadeInterface.java
     * @Package facadePattern
     * @Description: 这个接口主要的重要是整合子系统的功能
     * @date 2020年2月27日 下午8:51:10
     * @version V1.0
     */
    public interface FacadeInterface extends SubSystemA, SubSystemB, SubSystemC{
    	
    }
    

      SubSystemA,代表任意的子系统功能,SubSystemB与SubSystemC代码与之类似

    /**
     * 
     * @Title: SubSystemA.java
     * @Package facadePattern
     * @Description: 子系统A的功能
     * @date 2020年2月27日 下午8:52:07
     * @version V1.0
     */
    public interface SubSystemA {
    	/**
    	 * @Title: func1
    	 * @Description: 功能1
    	 */
    	void func1();
    
    	/**
    	 * @Title: func2
    	 * @Description: 功能2
    	 */
    	void func2();
    }
    

    4、讨论

      在讨论门面模式时,不要局限于语言和实现形式,而是理解它的目的或功能。

      它的主要功能是整合作用,将很多子功能整合到统一的接口中,便于系统的使用。

      它的应用甚至不需要任何接口,例如美团APP,支付宝等提供的门户界面。

    5、示例

    1. JS语言的jquery框架
    2. Spring框架中的ApplicationContext接口
  • 相关阅读:
    例题3-6 环状序列UVa1584
    习题3-1 Score UVa1585
    Sublime Text3 Python虚拟环境(补充)——解决控制台中文乱码情况
    Cookie保存在本地方法介绍
    Multisim仿真
    小米手机安装charles证书
    【转】缓存
    【转】5种网络IO模型
    【转】分布式锁的几种使用方式(redis、zookeeper、数据库)
    【转】白话解析:一致性哈希算法(consistent hashing)
  • 原文地址:https://www.cnblogs.com/rain144576/p/9940871.html
Copyright © 2020-2023  润新知