아래 예제에서 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 자체에서 처리를 처리하는 것이 좋습니다. 이 SOLID에 개폐 원칙을 파괴하고 클래스가 사람이에 대한 의견을 공유 할 수, 더 열거 형이 추가됩니다 때마다 코드 라인의 증가가 어디에
여기 문제를 볼 수 있습니까?
상황에 따라 다릅니다.이 경우에는 끔찍한 생각입니다. –
@ DavidPrezCabrera 의견을 보내 주셔서 감사합니다. Github에서이 코드를보고 다른 구체적인 클래스 나 스위치 케이스 또는 해시 맵을 사용하는 것보다 구현이 쉽다고 생각했습니다. 왜 그런 끔찍한 생각이 드나요? 어떤 특별한 이유가있다 –
@RealSkeptic 나는 동의한다! 나는 그것을 github에서 가져 갔다. 나는 그것을 제거하고 하나 만들었다. 지금은 이해가 되길 바란다. –