2009-01-19 4 views
0

저는 현재 ADIF라는 여러 파일 작성 규약 (XML 1.0, XML 2.0, XML 3.0 등을 지원해야만한다고 상상해보십시오)을 지원하는 프로젝트에 참여하고 있습니다. 현재 두 가지 표준 (버전 1.0 및 버전 2.2.2)이 있으며 둘 다 상업적으로 사용되며 여전히 많이 사용됩니다.단일 클래스 라이브러리에서 다중 표준 다루기

사양 버전 2.2.2에는 버전 1.0이 많이 포함되어 있지만 일부 상속 및 기타 OOP 도구를 제외하는 약간의 차이가 있습니다.

어떻게하면 이전 버전을 지원하도록 프로젝트를 체계화하고 새로운 표준을 계속 따라 잡을 수 있습니까?

  • 단일 클래스 라이브러리의 네임 스페이스 (Standard.Version1, Standard.Version222, Standard.Version223 (다음 버전) 등)는 무엇입니까? 엉성한 것 같습니다.
  • 동일한 솔루션 (Version222.dll, Version223.dll 등)에서 각각 별도의 클래스 라이브러리가 필요합니까? 과도한 것 같습니다.

내가 한 버전에서 다른 버전으로 변환하는 몇 가지 코드를 구현하려는 않습니다.

기본적으로이 유형의 프로젝트를 가장 효과적으로 구성하는 방법에 대한 조언을 찾고 있습니다.

http://www.adif.org/

답변

1

당신은 당신이 구현할 수있는 좋은 inhertance 계층 구조가없는 것을 주장?

그렇다면 라이브러리의 네임 스페이스 기술을 따르는 것이 좋습니다.이 기술은 dll에서 가능한 공통점을 사용하여 직접 작업 부하를 줄일 수 있습니다. 두 개의 api를 사용하면 테스트하기가 훨씬 쉬워지고 버전 간 차이점을 잘 처리 할 수 ​​있습니다.

즉 버전 2.2.2 API는 2.2.2 버전의 객체 만 허용하여 라이브러리의 문제를 방지합니다. 행운을 빌어 당신이 구현하는 무엇이든 :

0

사양 버전 2.2.2는 버전 1.0을 많이 포함하지만 일부 상속 및 기타 OOP 도구를 제외하는 약간의 차이가 있습니다.

개체 구성은 IMO 과용보다 OOP에 대한 훨씬 강력한 도구가 될 수 있습니다.

간단한 하위 시스템으로 문제를 해결할 수있는 방법은 무엇입니까?

관련 문제