반응형 전략2 Strategy Pattern, 전략 패턴 전략 패턴이란?우리가 슈퍼를 갈 때 버스 타고 가거나, 걸어가거나, 자전거를 타고 가는 등의 여러 가지 방법이 있다.이러한 방법으로 갈때의 길을 미리미리 알아두고 그때그때 끌리는 것으로 가곤 한다.이처럼 프로그래밍에서도 여러가지 방법을 구현해 놓고 클라이언트가 런타임 시기에 알맞은 전략을 사용할 수 있도록 하는 것이 바로 전략 패턴이다. 전략 패턴을 사용했을 때의 장점코드 중복을 줄일 수 있다.기존 코드없이 새로운 전략을 추가할 수 있다.런타임 시에 전략을 선택할 수 있다. 언제 전략 패턴을 고려해야 하는가?여러 전략 중 한 가지의 전략을 선택해야 할 때전략 알고리즘을 자주 변경 해야 할 때상태 패턴을 사용했을 때의 단점전략이 많아지면 코드가 매우 많아질 수 있다는 단점 (복잡도 상승)클라이언트에서 전략.. 2024. 10. 17. State Pattern, 상태 패턴 상태 패턴이란?우리가 엘리베이터를 타면 수리 중, 운행 중, 대기 중일 때에 동작이 다르다.수리 중에는 버튼을 아무리 눌러도 동작하지 않도록 되어있고 운행 중에는 열림버튼이 동작하지 않는다.대기 중일 때야 비로소 열림버튼이 정상적으로 동작을 한다.이처럼 상태에 따라서 같은 행위를 하더라도 동작이 달라지도록 만드는 것이 바로 상태 패턴이다. 상태 패턴을 사용했을 때의 장점상태별로 복잡한 조건문을 작성하는 것 대신 클래스로 나누어서 코드 가독성이 높아진다.상태가 추가되거나 삭제될 때 기존의 코드를 거의 수정하지 않고 추가/수정할 수 있다.언제 상태 패턴을 고려해야 하는가?상태에 따라서 객체의 행위가 달라지는 경우조건문으로 처리하기엔 많은 경우의 수가 존재하는 경우상태 패턴을 사용했을 때의 단점 다양한 상황을.. 2024. 9. 11. 이전 1 다음 반응형