什么是软件设计的分层体系结构模式:优点缺点

将软件系统按照抽象级别逐次递增或递减的顺序划分为若干层次,每层由一些抽象级别相同的构件组成。在严格的分层体系结构中,每层的构件仅为紧邻其上的抽象级别更高的层次提供服务,并且它们仅使用紧邻下层提供的服务;在稍松散的分层体系结构中,服务提供者和接受者可以跨越中间层,但前者一定位于比后者更高的抽象层次。分层体系结构模式示意图如图6-12所示。

层次之间的连接有两种形态:

(1)高层构件向低层构件发出服务请求,低层构件在计算完成后向请求者发送服务应答。在此过程中,低层构件可能向更低层构件发送抽象级别更低、粒度更细的服务请求。

图6-12 分层体系结构模式示意图

(2)低层构件在主动探测或被动获知计算环境的变化事件后通知高层构件,这种通知链可能一直延伸到最高层以便软件系统向用户报告,也可能中止于某个中间层次。

每个层次对上层服务接口的两种组织方式如下:

①层次中的每个提供服务的构件公开其接口。

②将这些接口封装于层次的内部,每个层次提供统一的、整合的服务接口。

需要说明的是,合理地确立一系列抽象级别是采用分层模式进行体系结构设计的关键。分层体系结构模式具有以下优点:

(1)松耦合。通过软件层次的划分和层间接口的规整有效降低整个软件系统的耦合度,强化软件系统各构件之间依赖关系的局部化程度。

(2)可替换性。一个层次可以被实现了同样的对外服务接口的层次所替换;接口变化给层次替换带来的影响仅限于直接使用该层服务的上层构件。

(3)可复用性。具有良好定义的抽象级别和对外服务接口的层次可以在不同的上下文环境中实现复用。

(4)标准化。定义清晰、广为接受的抽象级别可促进标准化构件和标准化接口的开发。

同时,分层体系结构模式也存在着一些缺点:

(1)高层功能可能需要逐层调用下层服务,返回值、报错信息又需逐级上传,这种过程一般会比直接实现高层功能更耗时。

(2)如果低层服务还完成了最初的服务请求者所不需要的冗余功能,那么性能损耗就会更严重。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/526.html
返回顶部