Hi,这是我的第一篇博客,我是一个热爱编程,崇尚科学的人,开始写博客,是因为想把自己学习的知识分享给大家,同时也希望能与各位进行交流,不同进步,程序员,话不多说,直接开始,呵呵!
这段时间,因为业务要求,开始学习一些架构设计方面的东西,以前写代码,都按业务需求,进行开发,会有涉及设计,但不规范,很多东西没有系统学习,总有些不足的地方,因此,买了本架构相关的书学习,在此,写下我的学习过程,如果有误,或者有其他经欢迎交流,呵呵!
一、软件架构概念
1、软件架构概念的分类
书中把软件架构概念分两大流派:
- 组成派:软件系统的架构将系统描述为计算组件及组件之间的交互
- 决策派:软件架构是在一些重要方面所做出的决策的集合
booch、rumbaugh和jacobson的定义:软件的组织,构成系统的结构元素及其接口的选择,这些元素在相互协作中明确表现出的行为,这些结构元素和行为元素进一步组合所构成的更大规模的子系统,以及指导这一组织----包括这些元素及其接口、它们的协作和它们的组合---架构风格。
woods观点:软件架构是一系列设计决策,如果做了不正确的决策,你的项目可 能最终会被取消
Garlan和Shaw的定义:架构包括组件、连接件和约束三大要素。组件可以是一组代码(例如程序模块),也可以是独立的程序(例如数据库服务器)。连接件可以是过程调用、管理和消