在 association/composition 关系中有重复的方法
Having duplicate methods in association/composition relationship
假设 class Car
包含 class Engine
。现在,Engine
有一些方法,即 start()
、stop()
等。现在,我将 Car
class 给 Driver
。我现在想要 Driver
到 drive()
Car
。 Engine
已有 start()
方法。那么 Car
和 Driver
也应该有一个 startCar()
方法吗?我的意思是 Driver
的 startCar()
方法将在内部调用 Car
的 startCar()
方法,最终将调用 Engine
的 start()
方法。那么这样做是个好习惯吗?
我会这样做的其他方式 Driver.getCar().getEngine().start()
。在代码可维护性和OOP方面哪个更好?
这可能会有所帮助:
https://softwareengineering.stackexchange.com/questions/316678/law-of-demeter-and-its-applicability
它讨论了 Law of Demeter 以及为什么您通常应该避免这种类型的链接。
假设 class Car
包含 class Engine
。现在,Engine
有一些方法,即 start()
、stop()
等。现在,我将 Car
class 给 Driver
。我现在想要 Driver
到 drive()
Car
。 Engine
已有 start()
方法。那么 Car
和 Driver
也应该有一个 startCar()
方法吗?我的意思是 Driver
的 startCar()
方法将在内部调用 Car
的 startCar()
方法,最终将调用 Engine
的 start()
方法。那么这样做是个好习惯吗?
我会这样做的其他方式 Driver.getCar().getEngine().start()
。在代码可维护性和OOP方面哪个更好?
这可能会有所帮助: https://softwareengineering.stackexchange.com/questions/316678/law-of-demeter-and-its-applicability
它讨论了 Law of Demeter 以及为什么您通常应该避免这种类型的链接。