지금 큰 프로젝트를 진행 중입니다.많은 고객 별 예외가있는 Python의 디자인 패턴
이 프로젝트는 EDIFACT 메시지를 생성합니다. 이것은 처음에는 그렇게 어렵지 않지만, 표준을 독자적으로 구현 한 고객이 많습니다. 우리는 여러 EDIFACT 표준 작업하는 그 꼭대기에
(우리의 경우 D96A 및 D01B.)
일부 고객의 예외 발산 필드 길이만큼 작을 수도 있지만, 일부는 완전히 자신의 구현을 만들었습니다 다른. 이 순간
우리는 (그냥 일관성을 유지하기 위해) 목록에서 고객의 예외를 나열하고 코드에서 우리는 같은 것을 사용이 잘 작동 간단한 몇 가지 예외를 들어
if NAME_LENGTH_IS_100 in customer_exceptions:
this.max_length = 100
else:
this.max_length = 70
을, 하지만이 순간에 코드가 복잡해지기 시작하면서 코드를 리팩터링 할 생각입니다.
나는 어떤 종류의 공장 패턴에 대해 생각하고 있지만 구현 방법에 대해서는 확신 할 수 없습니다. 또 다른 옵션은 기본 패키지를 만들고 표준에서 벗어나는 모든 고객에 대해 별도의 구현을 만드는 것입니다.
누군가가 조언을 해줄 수 있기를 바랍니다.
미리 감사드립니다.