zoukankan      html  css  js  c++  java
  • 设计模式 -(6)外观模式(门面模式)(结构型)

    门面类(Facade)

    1. 知道哪些子系统负责处理哪些请求
    2. 将客户的请求传递给相应的子系统对象进行处理

    子系统类(SubSystem)

    1. 实现子系统的功能
    2. 处理由Facade传递过来的任务
    3. 子系统无需知道Facade的存在,在任何地方都没有引用Facede

    UML


    时序图


    例子:
    给定一个学生类,有年龄和性别属性,判断年龄大于18岁,并且为男性(M)的为合法,其他都不合法。

    不使用门面模式



    使用门面模式


    添加Facade类
        class Facade
        {
            public bool IsValid(Student student)
            {
                SubSystem1 sub1 = new SubSystem1();
                SubSystem2 sub2 = new SubSystem2();
                return sub1.IsAgeValid(student) && sub2.IsSexValid(student); 
            }
        } 

    客户端就不会发生改变
























  • 相关阅读:
    repair table
    利用逻辑备份恢复部分库表
    Web框架理解
    BootStrape基础使用
    jQuery入门
    BOM操作
    DOM操作
    day12 css样式
    JavaScript基础
    day11 前端知识简单总结
  • 原文地址:https://www.cnblogs.com/tangge/p/5900324.html
Copyright © 2011-2022 走看看