架構(gòu)經(jīng)驗法則
有一些架構(gòu)法則可以幫助我們處理上文描述的惡劣情形。
關(guān)注點分離
著名的荷蘭計算機科學(xué)家Edsger Dijkstra在1974年的論文論科學(xué)思維的作用(On the role of scientific thought)上,第一次提到了他關(guān)于怎樣有效思考的觀點。
他把這個觀點稱為“關(guān)注點分離”。迄今為止,它可以說是軟件設(shè)計中最重要的原則。還有很多其他知名的法則,但是大多數(shù)都是從關(guān)注點分離原則中推導(dǎo)出來的。最基本的原則很簡單:我們應(yīng)該分開考慮系統(tǒng)不同的方面。
肉聚原則
在計算機科學(xué)里,內(nèi)聚指的是軟件模塊的各部分之間相互關(guān)聯(lián)的程度。
內(nèi)聚可以用來衡量模塊內(nèi)部的函數(shù)關(guān)聯(lián)的強度。
模塊內(nèi)的高內(nèi)聚是可取的。
我們可以看到高內(nèi)聚是關(guān)注點分離原則的另一方面。