![]() |
1
6
不,它完全没有违反开/关原则。
工厂方法模式将根据指定的参数创建不同类型的对象。如果操作正确,工厂方法实际上可以很好地与打开/关闭原则配合使用。但是,如果创建一个新类,然后希望工厂方法创建该类型的新对象,则必须更改工厂方法。 虽然,如果你有某种配置文件或者类似的东西被工厂方法读入,那么你就不必改变工厂方法。。。只需要一个配置文件,它指示工厂方法将创建什么对象。 |
![]() |
2
4
工厂模式本身并不违反 OCP
怎样
你的行为
如果
您可以将这个问题下推到某种文本文件或属性文件中,以免除您必须更改java类的责任,但这并不妨碍您必须在解决方案的这个区域编写额外的逻辑来支持新类型的类
一个这样的
OCP公司
友好的选择是子类
另一个
OCP公司
OCP公司 . 你可以使用上面的一种技巧来保持身体的右侧 OCP公司 但是你的同事可能会看一眼对象图,质疑在一个工厂上建立一个对象图是否明智,然后把它简化成一个工厂,这就回到了第一个例子。 SOLID 原则,考虑你为什么要使用它 |
![]() |
3
2
不。从你的维基百科链接:
|
![]() |
Vedant · 如何解决python啦啦队长问题?[已关闭] 2 年前 |
![]() |
cobby · 在战略模式中使用工厂模式? 3 年前 |
![]() |
Nobody · Java中带while循环的三角形模式 3 年前 |
![]() |
Eduard Stefanescu · 如何在层之间传输异常? 6 年前 |
![]() |
D. Schreier Talha Noyon · 对于目录中的每个类 6 年前 |
![]() |
Tanvi Jaywant · 如何重载类 6 年前 |