반응형
전략 패턴이란?
실행 중에 알고리즘을 선택할 수 있게 하는 행위 소프트웨어 디자인 패턴
전략 패턴은 특정한 계열의 알고리즘들을 정의하고 각 알고리즘을 캡슐화하며 이 알고리즘들을 해당 계열 안에서 상호 교체가 가능하게 만드는 것이라고 합니다.
즉 특정 컨텍스트에서 알고리즘을 별도로 분리하는 설계 방법을 의미합니다
전략 패턴이 적용되지 않은 코드
이런 경우 시나리오가 늘어날 때마다 Switch문은 계속해서 늘어나게 될 것이고, 추가적으로 기능들을 구현하게 되었을 때
로직이 변경됨에 따라 모든 시나리오의 로직을 연쇄적으로 수정하게 될 가능성이 높아집니다.
전략 패턴이 적용 코드
이를 Manager 스크립트에 현재 시나리오는 '이것이다'라고 기입만 해준다면 사용할 수 있다.
전략패턴 장점
- 새로운 시나리오 추가를 보다 쉽게 할 수 있다는 점
- 요구사항이 변경되었을 때 기존의 코드를 따로 수정하지 않아도 된다는 점
- 클라이언트와 독립적이기 때문에 관리하기 때문에 관리하기에도 유용하다는 점
- 코드 중복을 방지 할 수 있다는 점
- 확장성이 용이하다는 점
전략패턴 단점
- 많은 알고리즘에 대한 성능, 효율을 알고 있어야 한다는 점
- 알고리즘, 시나리오가 많아질수록 객체, 클래스의 개수도 계속해서 늘어난다는 점
- 컨텍스트와 스토리지를 조립하면 다시 전략을 변경하기가 쉽지 않다는 점
반응형
'Unity 개발' 카테고리의 다른 글
싱글톤 오브젝트와 정적 멤버 (0) | 2022.12.09 |
---|---|
Unity 코루틴(Coroutine) (0) | 2022.12.07 |
Audio Sound Linear Rolloff 적용 방법 (1) | 2022.11.29 |
Mobile : 해상도에 따른 화면 비율 맞추기 (0) | 2022.11.25 |
에러 : Make sure your device is plugged in (0) | 2022.11.25 |