1. 程式人生 > 其它 >《程式設計師修煉之道:從小工到專家》讀後感(五)

《程式設計師修煉之道:從小工到專家》讀後感(五)

今天看了看第五章總結如下:

1.解耦與得墨忒耳法則

函式的得墨忒耳法則試圖使任何給定程式中的模組之間的耦合減至最少,它設法阻止了你為了獲得第三個物件的方法的訪問而進入某個物件,寫程式碼的時候要使模組間的耦合減至最低,避免了牽一髮而動全身的可能性。我們應該跟多的考慮如何怎樣進行設計,使系統中的事物保持邏輯上的解耦。使用該法則可以我們的程式碼適應性更好。可以使用委託來使服從墨忒耳法則更容易。

2.元程式設計

讓我們的系統變得高度可配置。要配置,不要整合。

元資料使關於資料的資料,是對應用進行描述的資料。

要用元資料描述應用的配置選項:調諧引數,使用者偏好,安裝目錄等。元資料不僅能用來配置簡單的偏好,也要儘可能多的通過元資料配置和驅動應用。

將抽象放進程式碼,細節放進元資料。這句沒有很理解。

這種方法有若干好處:1)它迫使你解除你的設計的耦合,從而帶來更靈活、可適應性更好的程式。
2)它迫使你通過推遲細節處理,建立更健壯更抽象的設計一完全推遲到程式之外。
3)無需重新編譯應用,你就可以對其進行定製你還可以利用這一層面的定製,輕鬆地繞開正在執行的產品系統中的重大bug。
4)與通用的程式語言的情況相比,可以通過一種大為接近問題領域的方式表示元資料。
5)你甚至還可以用相同的應用引擎—一但是用不同的元資料——實現若干不同的專案。

建議以純文字的方式配置元資料,讀取該配置可以編寫能在執行時重新載入其配置的程式。

要提高程式的適應性,否則會被淘汰的。

3.時間耦合

時間有兩個方面對我們非常重要:併發和次序。我們需要容許併發,並考慮解除任何時間或次序上的依賴。

分析工作流,以改善併發性。可以通過UML活動圖,或者通過構建架構,使系統中的每一個實體都是一個獨立實體,與其他元件一起併發執行。對時間解耦的優勢使它更易於編寫。

對併發進行設計,對靜態或全域性變數加以保護,設計更簡潔的介面。

靈活地處理應用的部署方式。