【问题标题】:Duplication code VS Open-Close Principle重复代码VS开闭原则
【发布时间】:2018-03-19 23:54:46
【问题描述】:
我真的对两个话题感到困惑:
1)- 代码重复(我很明白)
2)- 开闭原则(需要说明什么时候使用?哪些场景)
在一个新功能的实现过程中,我的同事告诉我在一个正在执行特定工作的现有类中添加一个新函数(方法)。问题是这个新函数必须做一些在那个类中不好的事情。我告诉他扩展那个类并将函数添加到这个新类中。他告诉我,如果我们这样做,我们将陷入代码重复,但对于我来说,作为初级开发人员,我正在考虑开闭原则。
那么什么时候应该使用开闭原则呢?
【问题讨论】:
标签:
design-patterns
code-duplication
object-oriented-analysis
open-closed-principle
【解决方案1】:
开闭原则是关于对扩展开放,对修改关闭。这不应该被误解,因为一旦实现,您将永远无法修改代码。原则仅适用于代码修改不可避免的下一个需求更改。
但是,如果您了解此原则中的要点,您可以获得原则受赠人为您提供的巨大好处。只需在应用程序部署文件夹中替换一个 dll 模块,即可为您部署的应用程序提供扩展功能。扩展行为仅通过替换二进制文件(您可以方便地保存)而不是通过对应用程序或其相关模块的代码修改来获得。因此名称对扩展开放,对修改关闭
要实现这一点,您必须在开发中实施 Open Close 原则。遵循的规则并不像你想象的那么复杂。我已经在我的技术博客中通过工作的、可下载的代码示例详细演示了整个事情。请访问并获得一个想法。通过阅读这篇文章here
,您将了解应用至少 3 条 SOLID 原则是多么简单
SOLID 原则应用愉快!