요구사항


설계


요구사항에 따라 파이프라인 객체의 확장 포인트는 크게 3가지의 객체(Input, Filter, Output)로 개념화할 수 있다고 생각하여 이들에 각각 책임을 부여하고 협력에 있어 일종의 약속이 될 인터페이스들을 선언해주었습니다.

그리고 Input, Output의 경우엔 확장 포인트가 서로 배타적이기 때문에 완전히 갈아끼우는 형태의 전략 패턴을, Filter의 경우 다양한 경우의 수를 혼합해서 사용할 수 있겠다는 생각에 데코레이터 패턴을 활용하고자 했습니다.

아래는 UML 설계도입니다.

Pipeline 객체 설계.drawio.png

결과