【发布时间】:2015-04-24 04:54:01
【问题描述】:
在上面查找后,我发现的大部分答案是这样的:
- 高级模块不应依赖于低级模块。两个都 应该依赖于抽象。
- 抽象不应该依赖于 根据细节。细节应该取决于抽象。
我的理解是这样的设计违反了?因为类 Car 依赖于较低级别的类 Engine?
public class Car {
private Engine engine;
public void run() {
engine.start()
// do other stuff
}
}
public class Engine {
public void start() {
// do stuff that will start engine
}
}
如果确实违反了,解决办法是什么?我想不出替代方案。
我也很难理解第二部分“抽象不应该依赖于 根据细节。细节应该取决于抽象。”
【问题讨论】:
标签: java oop design-patterns solid-principles