架构模式

来源:互联网 发布:ubuntu 桥接网络配置 编辑:程序博客网 时间:2024/05/29 09:15
    所谓软件架构就是关于如何构建软件的一些最重要的设计决策,这些决策往往围绕着将系统分为哪些部分、各部分之间如何交互展开的。

    软件架构模式就是高度抽象的、适用于许多类似系统的、预先定义好的一种特殊的软件架构。架构模式描述了软件系统基本的结构化组织方案,具体而言,架构模式提供了一套预定义的子系统,并规定了子系统的职责,以及子系统或自荐关系的组织原则和组织指南。

目前有很多比较成熟的架构模式,我们需要根据项目的具体需求去确定应该采取哪种架构模式。

分层:很流行,最大的优点是将整体问题局部化,把可能的变化分别封装在不同的层中,最后,系统被规划为一个单向依赖的分层体系,利于修改、扩展和替换。具体而言,各层之间的单向依赖关系可以分为两种:严格的分层架构要求第n层只能被第n+1层调用,于此相对的是不严格的分层架构,第n层可以被位于其上层的任意一层调用。我们需要注意分层的原则:职责划分和交互机制。

MVC:铺天盖地的一种模式。随着smalltalk发展而来,有很多变种。包含三种组件:Model、View、Controller。

微内核:最大的优点是适应变化。微内核架构不仅将应用相关部分与通用部分分离,而且又将通用部分进一步分离成一个最小化的基本服务内核和众多扩展服务。微内核不仅提供了一个基本服务的最小集合,这些基本服务屏蔽了其下层复杂环境的影响、并以规范的接口提供给上层的‘增值服务’使用,于是所有这些附加的增值服务都和复杂环境无关。微内核所提供的基本服务必须是完备的,从而实现了一个虚拟机。这个虚拟机不仅屏蔽了下层的复杂性,而且建立了更抽象、更易用的一个‘新机器’供其上层使用。

微内核的缺点:1.设计和实现的复杂性;2. 往往比同类情况下其他架构的性能低。

采取微内核架构的原因:1. 可扩展性;2. 可移植性;3. 延长软件系统的生命周期。

元模型架构:一个以适应变化、支持长生命周期为主要目标的架构模式。包括两个层:基本层和元层次。基本层定义应用,类似于我们要编写的程序;元层次包含一组‘元对象’,这些元对象组成的模型叫做‘元模型’,元模型是对基本层中的‘一切’的抽象,提供了软件本身的结构和行为的‘自描述’。