마지막으로 서비스 단에서 가독성이 더 좋고, 코드를 조금 더 재활용할 수 있도록 디자인 패턴을 적용해보자. 1. Strategy (전략 패턴) 전략 패턴은 중간에 추상화된 인터페이스를 하나 만들고, 필요에 따라 적절한 클래스에 속하는 인스턴스를 껴서 사용하는 방식이다. 덕 타이핑이라는 용어가 있는데, "만약 어떤 동물이 오리처럼 꽥꽥거리고, 뒤뚱거리면서 걷고, 수영하고 등등 오리가 하는걸 다 한다면 난 그걸 오리라고 취급하겠다" 라는 뜻에서 용어를 그렇게 정했다고 한다. 상황에 완전히 들어맞지는 않지만 나는 이 패턴을 이해하는데 도움이 되었다. 코드에 대입하자면 몇가지 함수가 정의된 인터페이스가 있고 (class와 비슷하다고 보면 된다.), 다른 클래스가 이 인터페이스에 정의된 함수를 다 가지고 있다면,..