GRASP之受保護的變化 - Kamil Grzybek

banq發表於2019-09-05

問題:如何設計物件,子系統和系統,以便這些元素的變化或不穩定性不會對其他元素產生不良影響?
解決方案:確定預測變化或不穩定的點,分配責任以圍繞它們建立穩定的介面。
在我看來,這是與其他GRASP原則間接相關的最重要的原則。目前,最重要的軟體指標之一是易於更改。作為架構師和程式設計師,我們必須為不斷變化的需求做好準備。這是無法選擇的,這是必須有的,是我們的職責與責任所在。

幸運的是,我們擁有大量的設計指南,原則,模式和實踐,以支援不同抽象層次的變更。我只會提到一些(已經超出GRASP):
  • - SOLID原則,特別是Open-Close原則(但它們都支援變更)
  • - Gang of Four(GoF)設計模式
  • - 封裝
  • - Demeter法則
  • - 服務發現
  • - 虛擬化和容器化
  • - 非同步訊息傳遞,事件驅動架構
  • - 編排,舞蹈編排

由於今天更適合迭代軟體開發過程,因為即使我們被迫改變一次,我們也可以得出結論,並以較低的成本為未來的變化做好準備。

相關文章