gpt4 book ai didi

java - OOP 中的开闭原则

转载 作者:行者123 更新时间:2023-12-02 02:23:20 25 4
gpt4 key购买 nike

开放/关闭原则指出“软件实体(类、模块、函数等)应该对扩展开放,但对修改关闭”。

假设我有一个遗留域类,并且要求在域类中添加一个新字段,那么它是否违反了 OOP 的开放/关闭原则。如果是这样,我们怎样才能在不违反开闭原则的情况下实现这个要求呢?

最佳答案

开放/封闭原则是“对扩展开放,对修改封闭”。

这个想法是,您设计的系统使得维护人员可以通过添加新类(通常是子类化或实现接口(interface))来添加功能,而不必修改现有的类。

在您的场景中,如果您需要通过添加字段来修改域类,这是违反开放/封闭原则的设计的一个很好的例子。

如果你可以通过添加一个新类(可能是扩展域类或者扩展某个接口(interface))来满足要求,那么该域类的设计就符合开闭原则。是否可以这样做取决于域类是否为此而设计。

如果无论如何都必须修改域类,则可以考虑重构域类,以便将来可以通过添加类来进行更改,而不是再次修改域类。

关于java - OOP 中的开闭原则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48166896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com