8、软件架构:概念、模式与应用

软件架构:概念、模式与应用

1. 软件架构的定义与重要性

软件架构指的是系统的核心元素,是那些难以更改的部分,是构建其余部分的基础。当我们有了要构建的软件的想法后,就可以开始思考如何构建它,这便进入了设计阶段。

软件设计通常有两个层面:
- 详细设计 :编写程序时通常考虑的层面,涉及需要哪些操作、使用什么数据结构、采用何种算法、数据库如何组织、用户界面的样子以及调用序列等详细问题。在真正开始编码之前,需要回答这些问题。
- 架构设计 :侧重于风格。就像建造房屋时,会考虑是单层牧场式还是多层建筑、是都铎风格还是科德角风格、卧室窗户朝向、采用强制通风还是热水供暖、有三间卧室还是四间、是开放式还是封闭式的平面图等问题。这些问题更关注房屋的风格和使用方式,而非电气系统中电线的规格或空调管道的直径。软件架构也是如此,它是一套理念,为程序选择合适的基础。

随着软件系统规模和复杂性的增加,设计问题超越了计算的算法和数据结构,设计和指定整体系统结构成为一种新的问题,这就是软件架构层面的设计。实际上,所有规模和复杂度的程序都有架构,对于大型程序,更需要精心思考架构,确保在系统设计中融入正确的架构模式。因为一旦程序编写完成,在架构层面进行更改会非常困难,架构特性对程序结构至关重要。

2. 通用架构模式

软件架构师在思考程序架构时,通常会先绘制图表。架构图比文本更能让人直观地看到程序的结构和框架。软件架构通常用黑盒图表示,图中的节点是计算结构,边是结构之间的通信渠道,这些渠道可以表示数据流、对象消息传递或过程调用。有多种表示方法,其中统一建模语言(UML)是一种标准表示法。可

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值