架構之美隨筆五 語言與架構

2022-03-29 09:37:28 字數 805 閱讀 5785

「美」作為軟體架構的口號,並不是由旁觀者來判定的。其實早就存在一些明確的標準。

可靠性 該架構能否幫助我們建立出正確、健壯的軟體。

可擴充套件性 應對變化是否很容易。

復用性 該解決方案是否具有同樣性,或者甚至可以將其作為乙個元件直接插入到新的應用程式中,而無需做定製開發。

這部分內容,作者從之前所概括的軟體架構評價標準入手,對物件導向和面向函式兩種方法進行比較。從反方向來論證它們之間的關係:物件導向的架構融合了函式式程式設計的思想,特別是吸納了諸如eiffel中的**之類的新技術之後,在保留了其優點的同時克服了其缺點。要證明這些發現是否合格,作者提出了幾點限制:

缺少的資料點、細節不足、具體關注以及實驗者的偏見。

物件導向檢視

組合子很好,單型別更好:到目前為止,我們處理的都是操作和組合子。操作我們將保留,而關鍵是拋棄組合子並將它們替換為型別。它將明顯的提公升抽象等級。

物件導向方法對於模組性目標的最本質貢獻是繼承。繼承採用了「分類法」組織類,大概可以表示為「is-a」關係,類之間的基本關係還有一種名為「客戶」的關係,它表示某類將通過其api來使用該類。

物件導向模組性的評價和改進

復用操作:使用繼承的原則之一是將公共性放在可應用的最高等級上,這樣子孫類中就無需重複它們;也就是說繼承關係就是「as is」。

可擴充套件性:新增型別

可擴充套件性:新增操作

在第十四章,"重讀經典"作者提到所有東西都是物件。今天流行的物件導向計算機語言並不是純物件導向的。這章作者主要通過大量的例項讓我們了解哪些經典的「架構」。

架構之美閱讀筆記五

第四部分終端使用者應用架構第十一章將一組簡單的元件和一門語言結合成為乙個作業系統,是日後作為一名程式設計師必不可少的技術,第十二章講了乙個簡單的架構如何經過衝刺 評審等過程最終成為乙個完整健全的系統。第十一章gnu emacs 滋長的特性是其優勢。首先了解emacs,這是乙個類似於文字編輯器的東西,...

架構之美第五章 架構概述

建築師 家 作家 計算機設計師 網路設計師和軟體開發者都在使用 架構 這個術語,其他人也用 你有沒有聽說過 食物架構 然而不同的用法其結果也不同。建築與交響樂完全不同,但都有架構。而且,所有的架構師都在談論他們工作中的美,以及因此而導致的結果。建築師可能會說,一座建築應該提供適合工作或生活的環境,而...

架構之美2

功能擴充套件 1.新 的定位 一開始就有系統結構清晰的總體檢視,所以,新的功能單元可以新增到正確的功能區域,而不是為了一時方便,隨意新增。這樣,有的時候開發者的工作會需要動寫腦筋,但是在系統維護和擴充套件時,就變得容易了 2.系統的一致性 頂層設計的良好風格和決定,為底層 好處,是統 一 整潔的。清...