스트래티지 패턴이란 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. 여기에서 전략이란 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙, 문제를 해결하는 알고리즘 등으로 이해한다. 프로그램에서 전략을 실행할 때는 쉽게 전략을 바꿔야 할 필요가 많이 발생한다.
게임프로그래밍에서 게임 캐릭터가 자신이 처한상황에 따라 공격이나 행동하는 방식을 바꾸고 싶을 때 스태리티지 패턴은 매우 유용하다.
다르게 말하기를 if문을 없애주는 패턴이라고 할 수 있다. 쉽게 변하는 값들을 포함하는 상위 클래스를 작성하고 사용자가 쉽게 변하는 값을 항시 바꿔줄 수 있다. 따라서 if문에 따라 구문의 변화가 아닌 다른 클래스를 불러와 실행한다.
예를 들어 로봇을 움직이고 싸우는 게임이 있다고 할때 공격방식과 움직임의 방식 있다. 그 때 항시 공격방식이 미사일이 될수도 있고 펀치가 될수도 있고 발차기가 될수 있는데 이때 if문을 쓰지 않고 코드의 수정없이 다른 공격방식의 클래스를 불러온다. 움직임의 방식 또한 뛸수 있고 날 수 있다고 가정했을때 이동의 방식을 손쉽게 바꿀수 있고 코드의 수정이 간편하다.
'Machine Learning' 카테고리의 다른 글
AI 개발의 스포트라이트 ‘MLOps’ (0) | 2021.04.27 |
---|---|
Docker 환경 구성 (huggingface) docker build 명령어 (0) | 2020.08.26 |
연관 규칙을 사용한 장바구니 분석 (0) | 2019.09.26 |
군집화 이해 (0) | 2019.09.26 |