軟件解耦

現在在學習AngularJS,其中講到了邏輯解耦能夠大大的提高代碼的可調性。不明白解耦是什麼東西,於是百度了一下。

說起軟件的解耦必然需要談論耦合度,降低耦合度即可以理解爲解耦,模塊間有依賴關係必然存在耦合,理論上的絕對零耦合是做不到的,但可以通過一些現有的方法將耦合度降至最低。
做事情要想事半功倍,就要高處着眼,觸摸到事情的脈絡。當今流行着各種眼花繚亂的軟件框架,不管是struts,還是spring,hibernate,還是.net,還是各種前端UI框架,其設計的核心思想是:
儘可能減少代碼耦合,如果發現代碼耦合,就要採取解耦技術;
解耦方法有但不限有如下幾種:
(a)採用現有設計模式實現解耦,如事件驅動模式、觀察者模式、責任鏈模式等都可以達到解耦的目的;
(b)採用面向接口的方式編程,而不是用直接的類型引用,除非在最小內聚單元內部。但使用該方法解耦需要注意不要濫用接口。
(c)高內聚,往往會帶來一定程度的低耦合度。高內聚決定了內部自行依賴,對外只提供必須的接口或消息對象,那麼由此即可達成較低的耦合度。)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章