三、 依赖倒置原则(DIP)
解决办法一:将Light作成Abstract,然后具体类继承自Light。
解决方法二:
四、 接口隔离原则(ISP)
方法。
实现方法:1、 使用委托分离接口2、 使用多重继承分离接口
五、 合成/聚合复用原则(CARP)
功能的目的。
分类学意义上定义,意思是一个类是另一个类的"一种"。而"Has-A"则不同,它表示某一个角色具有某一项责任。
错误的使用继承而不是合成/聚合的一个常见的原因是错误的把"Has-A"当作"Is-A"。
错误源于把"角色"的等级结构与"人"的等级结构混淆起来,误把"Has-A"当作"Is-A"。解决办法:
六、 迪米特法则(LoD)
效果。迪米特法则与老子的"小国寡民"的统治之术不谋而合。