说明:为多个子系统接口,提供一个一致的接口,用到的地方有种:
a. 在设计初期有意识将不同层分离,例如三层架构,持久化层、业务层、表示层,业务层将持久化层细节处理,表示层直接调用业务层即可;
b. 在开发阶段,子系统往往重构而变得复杂,这个时候增加外观模式,减少他们直接的依赖;
c. 维护阶段,对于某些系统已经难以维护和扩展了,可以使用外观模式,对老系统功能进行整合,新系统只需要与外观类交互。
需求:炒股票,个人需要对每个股票进行熟悉,换成买基金,则只需要关注合适买入或卖出,基金类对多个股票的买入卖出进行处理
解决方式:
a. 新增外观类,整合子系统的方法,实现新的功能方法;
b. 新增各个子系统类并声明各自的方法;
c. 客户端直接调用外观类的新方法。
需求变更:-
解决方式:-
类图: