软件架构与设计原则解析
1. 软件架构基础
软件架构是应用程序的核心,是构建程序其余部分的基础,它驱动着后续的设计。不同的项目可能会采用多种软件架构风格,具体使用哪种架构取决于项目的具体需求。
1.1 ISO - OSI 分层协议示例
ISO - OSI 架构定义了一系列分层协议,如下表所示:
| 层 | 协议 |
| — | — |
| 7. 应用层 | http, ftp, telnet |
| 6. 表示层 | MIME, SSL |
| 5. 会话层 | Sockets |
| 4. 传输层 | TCP, UDP |
| 3. 网络层 | IP, IPsec |
| 2. 数据链路层 | PPP, Ethernet, SLIP, 802.11 |
| 1. 物理层 | |
1.2 主程序 - 子程序架构模式
主程序 - 子程序架构模式是最传统、最古老的架构模式。它源于 Niklaus Wirth 在 1971 年提出的“逐步细化的程序开发”方法,该方法正式定义了自上而下的问题分解方法,自然地引出了主程序 - 子程序模式。
其基本思想是将一个大问题分解为多个小问题。例如,几乎每个适合自上而下分解的问题都可以立即分为三个部分:输入处理、解决方案计算和输出处理。分解过程中,逐个处理每个小问题,持续细分,直到问题足够小且解决方案显而易见时开始编写代码。通常是自上而下解决问题,自下而上编写代码,但也存在许多变体。
Wirth 在论文结论中提到:
1. 程序构建由一系列细化步骤组成,每个步骤将给定任
超级会员免费看
订阅专栏 解锁全文
1086

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



