FIX의 유연한 특성으로 인해이 작업을 쉽게 수행 할 수 없습니다. My other answer은 FIX 버전 간의 변환이 불가능한 이유와 동일한 FIX 버전을 사용하는 두 장소가 실제로 근본적으로 호환되지 않는 이유에 대해 자세히 설명합니다.
내 경험에 따르면 각 장소마다 맞춤 어댑터를 써야합니다. 한 가지 방법은 앱이 사용할 수있는 장소 독립적 인 데이터 개체를 만든 다음 개체와 장소간에 FIX 메시지 간의 변환을 구현하는 것입니다. 응용 프로그램은 변환기를 일반적인 인터페이스로만 간주합니다. 대상 회장이 4.2 또는 4.4인지 여부는 알 필요가 없습니다.
예를 들어 GenericNewOrder 클래스와 SendNewOrder(GenericNewOrder)
메서드를 사용하여 IConverter 인터페이스를 만들 수 있습니다. IConverter에는 각 장소에 대한 구현이 있습니다. VenueAConverter 및 VenueBConverter. VenueAConverter는 VenueA에 적합한 새로운 주문 메시지를 생성하고 VenueBConverter는 VenueB에 대한 새로운 주문 메시지를 생성합니다. 새로운 장소를 추가해야한다면 새로운 IConverter를 구현하십시오.
그게 내가 생각해 낼 수있는 가장 좋은 패턴입니다.
(귀하의 질문이 실제로 QuickFIX 메일 링리스트에서 세미 빈도로 나타납니다.)
답장을 보내 주셔서 감사합니다. – userH