저는 응용 프로그램의 주 코드에서 하위 호환성을 유지하는 데 필요한 모든 극한 논리를 분리하는 전략에 관심이 많습니다. 다른 말로하면, 작업을 위해 별도로 격리 된 소스 파일을 제외하고는 하위 호환성 문제가없는 것처럼 코드를 보게되는 전략에 가깝게 다가 갈 수 있습니다.주 코드와의 하위 호환성을 위해 코드를 어떻게 분리합니까?
예를 들어, 응용 프로그램이 하나의 거대한 파일 찾기 기능 대신 하나의 특정 파일 형식을 읽는 경우 코드에서 먼저 "quirks"항목/객체 목록을 반복하여 볼 수 있습니다. 만약 그것이 파일이라면, 그것은 적용될 것이고, 그렇다면 일반적인 경우 로직 대신에 자신의 파싱 로직을 호출 할 것이다.
Quirks는 괜찮은 전략이지만 앱의 모든 적절한 위치에서 단점 확인을 위해 작업해야하며, 수표의 모양은 각기 다른 quirk 유형 등에 따라 다릅니다. 마찬가지로이 작업을 위해 상용구 전용 라이브러리가 있어야합니다. 또 다른 문제는 응용 프로그램의 임의의 덩어리에 범용 목적으로 악용되지 않는다는 것을 강요하는 법입니다.
+1 : 대개 내 방식이기도합니다. 일반적으로 간단한 래퍼 (코드 용)와 형식 변환기 (데이터 용)만으로도 적절한 호환성 계층을 만들 수 있습니다. –
아마도 가장 깨끗한 전략 일 것입니다. 거대한 데이터가 있으면 힘들 것입니다. 그렇다면 실제 변환을 수행하는 대신 어댑터보기를 구현하고 C++과 같은 리플렉션없이 언어로 고통스럽게 만들 수 있다고 생각합니다. –