從零開始學架構 李運華 02 架構設計的歷史背景

2021-08-21 10:44:43 字數 785 閱讀 2259

機器語言(2023年之前)

用0和1來表示機器可識別的指令和資料。

太難寫、太難讀、太難改

組合語言(20世紀40年代)

符號語言,本質上面對機器,需要程式設計師將現實世界問題按照機器邏輯進行翻譯,編寫複雜!!

高階語言(20世紀50年代)

早期:fortran、lisp、cobol等

高階語言可以讓程式設計師不需要關心機器底層的低階結構和邏輯,只需要關注問題和業務即可。

第一次軟體危機與結構化程式設計(20世紀60年代~70年代)

軟體質量下降,開發成本高昂。

銀彈1:結構化程式設計方法

雖然本質上還是面向過程,但「自頂向下、逐步細化、模組化」的設計思想已經確定,將軟體複雜度控制在一定範圍內,逐漸成為主流。

第二次軟體危機與物件導向(20世紀80年代)

本質問題是軟體的生產力跟不上硬體和業務的發展。對業務的變化帶來的軟體擴充套件無能為力。

銀彈2:物件導向的思想

2023年提出,80年代流行,現在已經為主流開發思想。

軟體架構的歷史背景

60年代提出、90年代流行。

只有規模較大的軟體系統彩輝面臨架構問題:

1.系統規模龐大,內部耦合嚴重,開發效率低

2.耦合嚴重,後續的擴充套件修改困難。

3.邏輯複雜,易出錯,不好排查。

從零開始學架構 李運華 03 架構設計的目的

架構設計的誤區 系統不一定需要架構設計 架構設計不一定能提公升開發效率 好的架構設計能促進業務發展 不是所有系統都需要架構設計 等等 架構設計的真正目的 為了解決軟體複雜度帶來的問題 如何下手架構設計?1.熟悉和理解需求 2.架構設計並不是面面俱到,而是識別問題有針對性的解決 3.理解每個架構方案背...

從零開始學架構 李運華 08 架構設計三原則

成為架構師是每個程式設計師的夢想,但並不意味著把程式設計做好就能夠自然而然的成為乙個架構師,優秀的程式設計師和架構師之間還有乙個明顯的鴻溝需要跨越,這個鴻溝就是 不確定性 架構設計並沒有像程式語言那樣的語法約束,更多的時候是面多多種可能時的 選擇 例如 但存在共性原則 合適原則 簡單原則 演化原則 ...

從零開始學架構 李運華 07 低成本 安全 規模

高效能和高可用架構通常都是增加伺服器來滿足要求,但低成本正相反,當然也不是首要目標。往往 創新 才能達到低成本的目標!技術創新 業界創新 小公司引入新技術 大公司可創造新技術。安全舊聞 安全分兩類 例如常見的xss攻擊 csrf攻擊 sql注入 windows漏洞 密碼破解等,本質上都是系統實現有漏...