以下の例では、Enumはクラスが処理する処理量を示します。処理ロジックを使用してenumを実装するとよいですか?
enum TriggerHandlerType {
DASHBOARD {
@Override
TriggerHandler create() {
return new DashboardTriggerHandler();
}
},
COMPONENT_HANDLER {
//...
};
abstract TriggerHandler create();
}
private static TriggerContext getTriggerContext(TriggerHandlerType triggerHandlerType) throws TriggerHandlerException {
return new TriggerContext(triggerHandlerType.create());
}
列挙型は、通常、この場合のように、それらが処理ロジックに基づいて変化する値を返すされる定数のタイプ安全な保管のために使用されます。ある意味では、Enumはここでクラスの処理を容易にする状態判定を行うため、包括的な技術と思われます。また、戻り値は有限値のサブセットであるため、Enum自体によって処理が処理されるように思えます。これはSOLIDに開閉原則を破るだろうとクラスは誰もがこの上で自分の考えを共有することができ、より多くの列挙型が追加されますいつでもコードの行の増分を持つことになりますどこ
私はここでの問題を見ていますか?
文脈によっては、この場合はひどい考えです。 –
@ DavidPrezCabreraコメントをいただきありがとうございます。Githubのこのコードを見て、別の具体的なクラスやスイッチのケースやハッシュマップを持つよりも実装が簡単になると思っていました。任意の特定の理由 –
@RealSceptive私は同意する!、私はgithubから取った、私はそれを削除し、ちょうど今見てみることを望むを見てください –