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

  「美」做爲軟件架構的口號,並非由旁觀者來斷定的。其實早就存在一些明確的標準。編程

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

  可擴展性 應對變化是否很容易。函數式編程

  複用性 該解決方案是否具備一樣性,或者甚至能夠將其做爲一個組件直接插入到新的應用程序中,而無需作定製開發。函數

  這部份內容,做者從以前所歸納的軟件架構評價標準入手,對面向對象和麪向函數兩種方法進行比較。從反方向來論證它們之間的關係:面向對象的架構融合了函數式編程的思想,特別是吸納了諸如Eiffel中的代理之類的新技術以後,在保留了其優勢的同時克服了其缺點。要證實這些發現是否合格,做者提出了幾點限制:代理

  缺乏的數據點、細節不足、具體關注以及實驗者的偏見。對象

  面向對象視圖繼承

  組合子很好,單類型更好:到目前爲止,咱們處理的都是操做和組合子。操做咱們將保留,而關鍵是拋棄組合子並將它們替換爲類型。它將明顯的提高抽象等級。開發

  面向對象方法對於模塊性目標的最本質貢獻是繼承。繼承採用了「分類法」組織類,大概能夠表示爲「is-a」關係,類之間的基本關係還有一種名爲「客戶」的關係,它表示某類將經過其API來使用該類。擴展

  面向對象模塊性的評價和改進軟件

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

  可擴展性:添加類型

  可擴展性:添加操做

  

  在第十四章,"重讀經典"做者提到全部東西都是對象。今天流行的面向對象計算機語言並非純面向對象的。這章做者主要經過大量的實例讓咱們瞭解哪些經典的「架構」。

相關文章
相關標籤/搜索