【发布时间】:2020-08-13 18:09:07
【问题描述】:
我有一个用例,我必须根据变量的值(在本例中说)typeName 仅使用特定变量来实例化给定的类。对于变量 String typeName,如果其值为 TYPE-1,则只应允许实例化特定的变量集 (a,b,c)。类似地,如果其值为 TYPE-2,则仅应允许实例化另一组变量 (x,y,z)。
if(typeName == "TYPE1")
{
CentralClass class = new CentralClass(a,b,c); //initiating only variable a,b,c
}
else
{
CentralClass class = new CentralClass(x,y,z); //initiating only variable x,y,z
}
类结构
public class CentralClass {
String typeName; //ALLOWED Values TYPE1, TYPE2
String x;
String y;
String z;
String a;
String b;
String c;
}
通过任何设计模式等最好的方法是什么。
注意:课程结构可以更改。我们可以有多个类(包含不同的变量)、内部类、静态类或任何强制执行的设计模式等。
【问题讨论】:
-
我建议有多个类,每种类型一个,以及一个接受类型名称作为构造函数的静态方法。
标签: java class design-patterns types pojo