软件体系结构(笔记整理)
简单的说,软件体系结构就是一个软件系统的构建方法和内部运转工作机制。它涉及总体组织、全局控制、通讯协议、同步、数据存储、算法等问题。
体系结构描述了软件系统基本的结构化组织方案,它们提供了一套预先定义好的子系统来制定它们的职责,包括用于组织它们之间的规则和指南。
研究软件体系结构的目的:
1) 避免软件危机:项目延期、费用超支、系统难以修改……
2) 提高软件的可复用性
常用的软件体系结构:层体系结构、模型—视图—控制(MVC)、代理者
层:有助于构建这样的应用程序,它能分解成几组子任务,每组子任务处于一个特定的抽象层。
MVC:把一个交互式应用程序分成三个组件:核心功能、表示和控制。变更—传播机制确保这三个部分的一致性。
代理者:能用于构建这样的分布式软件系统,它有着分离组件,而这些组件彼此通过远程服务调用进行交互。
模式类别:
什么是模式:当专家在求解某一特殊问题时,他们一般不会发明一种和以有解决方案完全不同的方案来处理问题。他们往往想起已解决过的相似问题,并重用其解决的精华来解决问题。模式既是一个过程,又是一个事物。
一些模式有助于把一个软件系统分解成子系统。另一些模式支持子系统和组件的细化或它们之间关系的细化。我们可以把模式分为两种模式:
体系结构模式
设计模式
体系结构模式:它是高层的模式,用于建立整体的软件框架和作为具体软件结构的模板。
设计模式:是中等规模的模式,它们在规模上比体系结构模式小,但独立于特定编程语言。它提供了一个用于细化软件系统的子系统或组件,或它们之间关系的模板。它是概念、思维方式上的抽象和重用。
设计模式类型:
创建型(creational)解决如何创建对象的问题
结构型(structural)解决如何正确的组合类或对象的问题
行为型(behavioral)解决类或对象之间如何交互和如何分配职责的问题
重构
所谓重构是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,以改进程序内部的结构,提供起可理解性,降低其修改成本。重构是一种有纪律的,经过训练的程序整理方法。从本质上说,重构就是在代码写好之后改进它的设计。
posted on 2008-03-31 22:42
Macaulish 阅读(725)
评论(0) 编辑 收藏 引用