首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实心编程实践中的实践问题

实心编程实践中的实践问题
EN

Stack Overflow用户
提问于 2018-12-01 11:17:59
回答 1查看 56关注 0票数 1

关于依赖性反演原则的一个实际问题:

我们希望在许多库或DLL中构建我们的系统。

如果底层库的组件或类应该依赖于抽象,无论是Iinterface还是纯抽象类,被调用的可执行的或更高级别的库也应该依赖于该抽象而不是具体的类,那么应该将抽象编译到哪个库中呢?

是的,当然,混凝土类是由工厂提供的.

从逻辑上讲,它属于可执行或更高级别的库,但出于实际目的,它可能应该被编译到较低级别的库中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-10 20:55:02

最灵活的(模块化)方法是将抽象编译到自己的二进制文件(库)中。这允许任何人在不继承任何实现细节的情况下使用和/或扩展抽象。理想情况下,这意味着不继承任何传递依赖项。

如果抽象只由一个客户端使用,您可以安全地与它的使用者一起编译它,以减少二进制文件的数量。这将使具体实现与客户端保持解耦。

您不应该做的一件事是编译抽象以及它的任何实现。这将使每个客户端耦合到实现代码以及它的传递依赖项。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53570253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档