나는 긍정적이지 않다. 나는 올바른 방향으로 가고있다. 다양한 유형의 출력 (사용자 정의 유형)이있는 응용 프로그램 모음이 있습니다. 예를 들어유형 정의를 직렬화 하시겠습니까?
, 나는 종류의 위젯 불렀다 수 있습니다
사용자가 특정 조건을 경험 작업의 과정, 전반에 걸쳐Class Widget
Public name as String
End Class
, 응용 프로그램이 사용자가받은 위젯의 출력 인스턴스를 취할 것입니다, 직렬화 그것을 유형의 이름을 나타내는 데이터베이스에 기록하십시오.
이제는 비슷한 것을하는 다른 응용 프로그램이 있지만 위젯을 다루는 대신 다른 속성을 가진 완전히 다른 임의의 다른 유형이 될 수 있지만 다시 인스턴스를 직렬화하여 db에 기록하고 유형의 이름. 나는 아마도 6 가지 유형이있을 것이고 앞으로 너무 많은 유형을 추가로 예상하지는 않을 것입니다.
이 모든 것이 끝나고 나면이 로그를 살펴보고 기록 된이 데이터의 내용을 사용자가 볼 수있는 관리자 인터페이스가 있습니다. Admin 앱은 관련된 모든 유형에 대한 참조를 가지며, 유형의 이름에 힌트를 둔 몇 가지 기본 스위치 케이스 논리를 사용하여이를 원래 유형으로 캐스팅하고 기본 표시 로직을 가진 핸들러로 전달하여 데이터는 다시 밖으로 읽을 수있는 형식 (종류마다 1 개의 디스플레이 핸들러) NOW
에서 ...이 모든
어느 날까지, 나의 모델이 변경 ... 잘 좋다. 이제 Widget 클래스는 name 속성을 더 이상 사용하지 않으며 많은 다른 속성에 추가되었습니다. 이 데이터를 다시 만들려고 할 때 관리자 측에서 유형 불일치가 발생합니다.런타임에 어떤 방법이 있는지 궁금 해서요. 아마도 내 코드를 통해 반영 할 수 있었고 정확한 순간에 유형 정의의 스냅 샷을 얻고, 직렬화하고, 데이터와 함께 저장할 수있었습니다. 어떻게 든 미래에 그것을 재구성하는 데 이것을 사용합니까?