[Gof 디자인 패턴] Strategy(전략) 패턴
프로그래밍을 하다보면 비슷한 동작이지만 구현 방법(알고리즘)이 다른 경우를 많이 겪습니다. 예를 들어 외부 메일 가져오기 기능을 구현하려고 합니다. 네이버 메일, 다음 메일, 구글 메일 등을 가져온다고 가정하면 메일을 가져온다에서는 동일한 액션이지만 내부 구현을 살펴보면 호출 API 정보, 필요 파라미터 명 등이 조금씩 다를 수 있습니다. 처음에 네이버 메일와 구글 메일 가져오기만 지원한다면 if문 분기를 통해 다르게 처리할 수 도 있겠지만, 나중에 다음 메일과 네이트 메일 등도 추가적으로 지원한다고 하면 분기가 계속 증가할 것 입니다. 이러면 SOLID 설계 원칙의 개방-폐쇄 원칙(OCP)에 위반하는 코드가 생성될 확률이 커집니다. Strategy(전략) 패턴을 사용하면 이와 같이 같은 문제를 다른 방..
프로그래밍/Java
2018. 4. 12. 14:52