●1 軟件架構的含義
什麼是軟件架構?
為什麼軟件架構很重要?
軟件架構的受眾是誰?
軟件架構師的角色是怎樣的?
總結
2 組織中的軟件架構
軟件架構師的類型
軟件開發方法
項目管理
職場關繫
軟件風險管理
配置管理
軟件產品線
總結
3 理解領域
培養商業智慧
領域驅動設計
需求工程
需求抽取
總結
4 軟件質量屬性
質量屬性
可維護性
易用性
可用性
可移植性
互用性
可測試性
總結
5 設計軟件架構
軟件架構設計
軟件架構設計的重要性
自頂向下方法和自底向上方法
綠地軟件繫統和棕地軟件繫統
架構驅動
利用設計原則和現有的解決方案
記錄軟件架構設計
使用繫統化方法進行軟件架構設計
屬性驅動設計(ADD)
微軟的架構和設計技術
以架構為中心的設計方法(ACDM)
架構開發方法(ADM)
跟蹤軟件架構設計的進度
總結
6 軟件開發原則與實踐
設計正交的軟件繫統
最小化復雜性
遵循SOLID的設計原則
幫助你的團隊走向成功
總結
7 軟件架構模式
軟件架構模式
分層架構
事件驅動架構
Model-View-Controller模式
Model-View-Presenter模式
Model-View-ViewModel模式
命令查詢職責分離
面向服務架構
面向服務的設計
服務注冊中心
服務描述
組織命名空間
編排和協同
總結
8 現代應用程序架構設計
單體架構
微服務架構
無服務器架構
雲原生應用程序
總結
9 橫切關注點
橫切關注點
橫切關注點的通用指南
實現橫切關注點
面向切面編程
橫切關注點的類型
微服務的橫切關注點
總結
10 性能注意事項
性能的重要性
定義性能術語
采取繫統性方法改善性能
服務端緩存
改善Web應用程序性能
數據庫性能
總結
11 安全性注意事項
確保軟件繫統的安全
威脅建模
設計安全
密碼學
身份和訪問管理(IAM)
最常見的Web應用程序安全性風險
總結
12 軟件架構的文檔化和評審
軟件架構文檔的使用
創建架構描述(ADs)
統一建模語言(UML)概述
軟件架構評審
總結
13 DevOps和軟件架構
DevOps定義
DevOps實踐
DevOps的架構
部署到雲端
總結
14 遺留應用架構設計
遺留應用程序
重構遺留應用程序
遷移到雲
現代化構建和部署流程
與遺留應用程序集成
總結
15 軟件架構師的軟技能
軟技能
溝通
領導
協商
與遠程資源協同工作
總結
16 演進架構
變化不可避免
Lehman的軟件演進法則
法則
設計演進架構
總結
17 成為更好的軟件架構師
持續學習
參與開源項目
撰寫自己的博客
花時間教學
嘗試新技術
繼續編寫代碼
參加用戶小組和會議
對你的工作負責
關注你的健康
總結