软件架构:概念、模式与应用
1. 软件架构的定义与重要性
软件架构指的是系统的核心元素,是那些难以更改的部分,是构建其余部分的基础。当我们有了要构建的软件的想法后,就可以开始思考如何构建它,这便进入了设计阶段。
软件设计通常有两个层面:
- 详细设计 :编写程序时通常考虑的层面,涉及需要哪些操作、使用什么数据结构、采用何种算法、数据库如何组织、用户界面的样子以及调用序列等详细问题。在真正开始编码之前,需要回答这些问题。
- 架构设计 :侧重于风格。就像建造房屋时,会考虑是单层牧场式还是多层建筑、是都铎风格还是科德角风格、卧室窗户朝向、采用强制通风还是热水供暖、有三间卧室还是四间、是开放式还是封闭式的平面图等问题。这些问题更关注房屋的风格和使用方式,而非电气系统中电线的规格或空调管道的直径。软件架构也是如此,它是一套理念,为程序选择合适的基础。
随着软件系统规模和复杂性的增加,设计问题超越了计算的算法和数据结构,设计和指定整体系统结构成为一种新的问题,这就是软件架构层面的设计。实际上,所有规模和复杂度的程序都有架构,对于大型程序,更需要精心思考架构,确保在系统设计中融入正确的架构模式。因为一旦程序编写完成,在架构层面进行更改会非常困难,架构特性对程序结构至关重要。
2. 通用架构模式
软件架构师在思考程序架构时,通常会先绘制图表。架构图比文本更能让人直观地看到程序的结构和框架。软件架构通常用黑盒图表示,图中的节点是计算结构,边是结构之间的通信渠道,这些渠道可以表示数据流、对象消息传递或过程调用。有多种表示方法,其中统一建模语言(UML)是一种标准表示法。可
超级会员免费看
订阅专栏 解锁全文


被折叠的 条评论
为什么被折叠?



