添加实体和列数据库的新属性是否会破坏 OCP(开闭原则)?

Does adding new attributes of an Entity and columns database break OCP (open closed principle)?

如果我必须添加一个新的数据库列,并因此向实体添加一个新属性,这会违反 OCP 原则吗?

政府修改了法律,我们需要将新属性保存到数据库中。修改实体可以吗?

假设我们应该保留有关汽车的数据,现在政府希望我们在数据库中存储有关汽车的另一个​​属性,并且保留此新属性已成为一项法律。 它是汽车实体的主要属性,而不是像 CarAcessory 那样的东西,是像字符串这样的原始类型。

我应该怎么做才能保留OCP?

谢谢

根据开闭原则,您应该能够"Add new functionality by adding new code without modifying old code"。

让您的代码始终打开关闭将是困难的(如果不是不可能的话)。

当你让你的代码打开关闭时,代码的复杂性增加了。如果你有一段代码经常有新的需求,那么最好让那部分开闭。如果您有一段代码,其中新需求不那么频繁,那么将其打开关闭就太过分了。

如果您使用 C#、Java、C++ 或 C 编程,您可以让 Main 打开关闭吗?如果可以,费用是多少?