스트래티지 패턴은 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다.(객체지향언어)
그 말이 무엇이냐면 예를 들어 로봇이라는 코드를 짠다고 가정하자.
로봇에 종류에는 아톰,태권v가 있다. 아톰은 날아다니면 걸을 수도있고 태권v는 걸을 수 있고 있고 뛸수도있다.
만약 아톰의 클래스에 날수(fly) 있고 걸을 수있는 코드(walk)가 있다고 뛰기(run)의 코드를 추가시킬 때
아톰의 기존코드를 변경해주어야 한다 . 만약에 무빙(moving)이라는 상위 이동방식에 관한 인터페이스 클래스를
생성하고 그 방식에 따라 여러 가자의 하위 클래스(fly,walk,run) 등의 클래스를 생성해두면(캡슐화)
이동방식의 변경은 메인함수의 호출 클래스 변경으로 간단히 변경될 수 있다.
스트래티지 패턴을 적용하여 작성한 코드의 예이다.
'Java > DesignPattern' 카테고리의 다른 글
디자인 패턴 (0) | 2019.10.04 |
---|