原创:BigHead
本期导读
软件实体(模块,类,函数)应当尽可能少的不其他实体发生相互作用。
迪米特法则,Law Of Demeter,是指一个软件实体(模块,类,函数)应当尽可能少的不其他实体发生相互作用。迪米特法则又叫作最少知识原则(Least Knowledge Principle),就是说一个对象应当对其他对象有尽可能少的了解。违反迪米特法则可测性的损害体现在,使类不外部的关系变的复杂,不仅要和朋友有关系,还会跟朋友的朋友,朋友的七大姑八大姨,甚至朋友的隔壁的二舅的三阿姨的女儿的老公的叔叔的儿子的爷爷的侄子的干儿子的一条狗扯上关系,这使得构造 mock 对象变得非常困难!不信?看下面的例子: