程序设计原则之迪米特原则
一、什么是迪米特原则
迪米特原则也叫最小知道原则,即对其他的类尽量保持最少知道。只关心自己的直接朋友类,而不关心其他的类。
直接朋友类:出现在自己的域中、方法入参中、方法出参中的类叫直接朋友类;那些在方法中出现的局部类不叫直接朋友类。
二、结合场景分析
假设这么一个场景:
一个培训机构的老板叫小组领导查看开设的课程数量。老板应该只和小组领导保持直接朋友,而不管课程,直接下发命令给组领导后只要最终结果,而不管中间过程。
程序设计实例一:
类关系如下:
从这个类关系可以看出,Boss这个类不仅知道TeamLeader这个类的存在,还要负责创建Course类,按道理Boss类是不应当知道Course类的存在的,在这里违反了迪米特原则。
改进如下:
其类图如下: