내 모델 클래스 중 하나에 열거 형을 사용하므로 잘못된 값이 전달되는 것에 대해 걱정할 필요가 없습니다.데이터베이스 및 GUI와 관련하여 모델 코드에서 열거 형을 사용할 때 코드 중복 줄이기
내가 가진 문제는 열거 형 때문에 코드 전체에서 많은 코드가 중복된다는 것입니다. 내가 열거를 변경할 때마다 나 또한 모든 것을 작업하기 위해 내 코드의이 부분을 변경해야합니다 :
- 변경을 열거 자체
- 변경 SQL 테이블 정의 (내가 MySQL의 열거 형을 사용) 내 데이터 액세스 레이어에서 enumToString 변환 테이블을 변경
- (올바른 열거 항목을 다시 검색 값을 변환)
- 변경 내 데이터 액세스 레이어에서 stringToEnum 변환 테이블 (필자는 SQL 쿼리에 대한 문자열이 필요합니다) 내 GUI에 대한 enumToPrettyString 변환 테이블 변경 사용자가
Javas Enum 클래스가 더 강력하다는 것을 알고 있고 열거 항목 정의에이 정보를 직접 추가 할 수 있지만 C++ 열거 형은 내부적으로 정수이므로 해당 편의를 얻지 못합니다.
여기 코드 중복을 최소화하는 방법에 대한 아이디어가 있으십니까?
당신은 *'두 개의 큰 enums'을 가지고 있습니다 * - 우물 : (1) "큰"을 의미하는 것 : 많은 요소? (2) 문제는 열거 형의 양으로부터 독립적이지 않은가? 단지 * 열거 형으로 줄이는 것이 낫지 않겠는가? – Wolf
네 말이 맞아, 나는 두 가지 열거 형 모두 같기 때문에 질문을 바꿔 말할 것이다. "빅"은 10 ~ 30 개 항목을 의미합니다. –
변환의 모든 기능을 추상화하고'DLL/.so'의 클라이언트가 요구하는 것들을 정확하게 제공 할'DLL/.so'를 만들 것을 제안 할 것입니다. 이런 식으로'enum' 정의는 enum/members/entries를 추가/삭제/변경하는 동안 변경됩니다. – sameerkn