【发布时间】:2023-03-05 22:43:01
【问题描述】:
我有一个具有两个不同构造函数的对象:
public class MyClass {
public MyClass(arg1, arg2) {
//constructor
}
public MyClass() {};
}
我只需要通过我的软件的特定类调用第二个(第一个可以在任何地方调用)。是否有针对这种情况的设计模式?
MyClass 和调用类位于两个不同的包中,因此包私有构造函数不是解决方案。
【问题讨论】:
-
这里可能有设计的味道。需要 2 个不同的构造函数可能表明它实际上不是您要在两个包中操作的同一对象,或者您可能需要第三个、更多执行上下文感知对象来实例化
MyClass与相关的 arg1 和 arg2 并将其传递给包 1 或包 2。
标签: java design-patterns constructor