0
点赞
收藏
分享

微信扫一扫

#指尖人生#面向对象设计常用的设计模式-外观模式

设计模式这一概念最初源于建筑学,它的提出者克里斯托弗-亚历山大认为建筑设计要围绕以人为本的目的。建筑物要基于社会和人性来设计,程序设计亦是如此。
虽然简单套用模式并不能解决所有问题,但是模式这一理念对一些广泛的基础场景指出了最佳实践,是一种务实的分析和设计方法,是值得程序设计者学习和理解的,并时刻提醒设计者,设计模式的核心意义就是以人为本,设计要服务于人。
1994年,由四位面向对象领域专家合著出版了《设计模式:可复用面向对象软件的基础》,这本书中介绍了程序设计中常用的23中设计模式。这篇文章将介绍其中之一-外观模式

​模式简介

​外观模式是一种结构型模式,其核心是为子系统中的一组接口提供一致的界面,提供一组高层接口,这个接口使得子系统变得更容易使用。

现实应用

我们去银行柜台办理业务,只需要把证件和银行卡交给柜员然后说明需要办理的业务就可以了。复杂的办理过程都由柜员通过计算机系统办理。

这里柜员就是我们与银行打交道时进行前端联系的唯一渠道,我们不用接触复杂的银行业务,这种模式就是本篇所讲的外观模式。

我们在程序设计过程中,当外部程序或某个调用程序要访问一组程序或者一个模块时,有可能需要访问不同的程序或者功能,如果按照普通的调用模式,就会显得复杂凌乱,但引入外观模式后,将一系列复杂的访问过程统一在一个模块进行管理,这样就降低了系统的复杂程度。

程序设计分析

​如何将调用程序与被调用系统的细节的复杂性分隔开,从而使调用程序只需要与一个固定的接口打交道即可,不需要访问调用系统内部的细节对象?

答案已经很明了了,我们只需要为被调用系统提供一个统一的入口,这样会使得被调用系统更加容易使用。

解决方案

​使用外观模式,很容易实现上述的需求。外观模式为子系统中的一组接口提供了一个统一的入口,即定义一个统一的接口,调用者只需访问这个统一的接口即可,从而使得调用系统更加容易使用。

外观模式对调用程序透明化了被调用系统的细节,通过外观模式,调用程序的代码将变得简单而且规则。

外观模式实现了调用程序与被调用系统间的松耦合关系,被调用系统如果发生变化,不会影响到调用程序,只需要修改外观类即可。

举报

相关推荐

0 条评论