淺讀《大話設(shè)計(jì)模式》————11、無熟人難辦事?——迪米特法則
迪米特法則(LoD),如果兩個(gè)類不必彼此直接通信,那么這兩個(gè)類就不應(yīng)當(dāng)發(fā)生直接的相互作用。如果其中一個(gè)類需要調(diào)用另一個(gè)類的某一個(gè)方法的話,可以通過第三者調(diào)用。[J&DP]
本法則強(qiáng)調(diào)的是,在類的設(shè)計(jì)上,應(yīng)該盡量保證類之間的松耦合。類之間的關(guān)系不應(yīng)該必須是直接調(diào)用的,而應(yīng)該是通過抽象來實(shí)現(xiàn)各自的功能。就如同人際關(guān)系辦事情,如果是必須要針對個(gè)人,那么沒有熟人或者熟人不在,那就辦不成了?這種體制顯然不好!比如,希望政府辦的事情,應(yīng)該不需要知道要誰來處理,只是統(tǒng)一向政府提個(gè)需求,然后他們內(nèi)部派人處理好!迪米特法則,最少知識原則。