首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >依赖反转是OCP的扩展吗?

依赖反转是OCP的扩展吗?
EN

Software Engineering用户
提问于 2018-02-01 06:58:44
回答 1查看 479关注 0票数 3

我正在阅读关于实体原理的文章,并且刚刚读到依赖反转(DI,在这里要区别于依赖注入,这是实现倒置的一种方法)是对开闭原理(OCP)的扩展。这到底意味着什么,如果OCP是关于在不触及原始代码的情况下使类可扩展的话。

EN

回答 1

Software Engineering用户

发布于 2018-02-01 09:24:29

DIP要求您的类依赖于抽象。因为您总是可以提供这些抽象依赖项的不同实现,所以它们创建了自然的扩展点,允许您修改类的行为而不更改类本身。

当然,这正是OCP所要求的。

例如,假设您有一个TaxReporter,它在构造期间需要一个接口ITaxCalculator的实例。通过提供不同的ITaxCalculator实现,您修改了生成报告的方式,而不涉及TaxReporter类。

继承并不是实现OCP的唯一途径。

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

https://softwareengineering.stackexchange.com/questions/365087

复制
相关文章

相似问题

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