Details should depend on abstractions.
细节应当依赖于抽象。