用户界面取决于业务逻辑层打破依赖倒置原则?

时间:2012-11-15 02:55:31

标签: architecture inversion-of-control dependency-inversion

依赖性倒置原则说明:高级模块不应该依赖于低级模块。

考虑到这一点,我的老人:

UI -> Business Logic Layer -> Data Access Layer

成了

UI -> Business Logic Layer <- Data Access Layer

我根据业务逻辑层保留了UI,因此我可以轻松地附加另一个UI实现。我的业务逻辑层是大脑。

但这会打破依赖倒置原则吗? UI比商业逻辑更高级,对吧?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

Dependecy Inversion中的高级或低级模块关注实现细节。以其原则为例。该原则指出:

一个。高级模块不应该依赖于低级模块。 两者都应该取决于抽象。

<强> B中。抽象不应该依赖于细节。细节应取决于抽象。

在评估依赖性转换原则时,考虑哪些模块或层次无关紧要。您可以拥有高级UI和低级UI。这个原则的要点是你的高级UI不应该依赖于低级业务逻辑层,高级模块中的任何其他东西都可以。