Web サービスからキーと値のペアのリストを受け取り、次のコードを継承しています。
public String iconValue = null;
... (over 50 class variables assigned in MyObject constructor below)
public MyObject(List<Attribute> attrs) {
String attrName, attrValue;
for (Attribute a : attrs) {
try
{
attrName = a.getName();
attrValue = a.getValue();
if (attrValue == null || "".equals(attrValue.trim()))
continue;
if (ICONS.equals(attrName)) {
//Do something including assignment
this.iconValue = attrValue;
}
else if (URL.equals(attrName))
{
//Do something including assignment
}
else if (...) A giant list of over 50 different attributes hardcoded
{
//Do something including assignment
}
...
したがって、ハッシュマップを保持することを除いて、クラス内にハードコードされた変数を保持し、この「when-if」パターンを使用する上記よりも良い方法はありますか?
また、この模様に名前はありますか?