여기는 적합한 디자인을 찾으려고하는 상황입니다.OOGenerics 디자인 고려 사항
번호의 프로필을 저장해야합니다. 프로필은 일련의 숫자입니다. int, float 또는 decimal 형식이 될 수 있습니다. 각 프로파일에는 ennumeration을 기반으로하는 ProfileDescription 필드가 있습니다.
각 프로필에는 ProfileVersion 개체 모음이 있습니다. 각 ProfileVersion 객체에는 ProfileValue 객체의 컬렉션이 있습니다. 이 ProfileValue 객체는 필요한 유형의 실제 숫자 값이 저장되는 곳입니다.
초기 디자인 아이디어는 Profile, ProfileVersion 및 ProfileValue를 일반적인 것으로 만드는 것이 었습니다. 내가 가질 수없는 여러 유형의 프로필 목록을 원할 때 문제가 발생했습니다. 대신 ArrayList를 사용할 수는 있지만 그 안에 데이터를 캐스팅해야합니다.
ProfileVersion 및 ProfileValue를 일반으로 설정 한 다음 프로필 개체에서 ProfileDescription 필드의 값에 따라 Type을 ProfileVersion에 할당 할 수는 있지만이를 수행 할 방법을 찾을 수 없습니다.
또 다른 생각은 ProfileBase 클래스를 사용하고 GenericProfileClass 또는 IntProfile, FloatProfile 및 DecimalProfile을 사용하여 서브 클래스를 작성해야했지만 실제로 각 클래스를 일반 클래스로 유지하는 것보다 이점이 없었습니다. 어쨌든 매번 서브 클래스를 캐스팅하십시오.
이 상황에 가장 적합한 설계 방법에 대한 의견을 보내 주시면 감사하겠습니다.
감사