tangge

门面类(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); 
        }
    } 

客户端就不会发生改变
























分类:

技术点:

相关文章:

  • 2021-08-11
  • 2021-12-18
  • 2021-09-23
  • 2022-02-10
  • 2021-08-17
  • 2021-11-25
猜你喜欢
  • 2022-12-23
  • 2021-11-12
  • 2021-07-08
  • 2022-12-23
  • 2021-11-12
  • 2019-09-27
相关资源
相似解决方案