명령 패턴은 메서드 호출을 실체화한 것

키를 누르는 것에 직접 함수를 호출하지 않고 한 겹 우회하도록 해라. ( 나중에 키 변경이 있을 수 있다 )

Command라는 클래스를 따로 정의해 놓고 명령과 액터 사이에 추상 계층을 한 단계 더 둔다면 명령을 실행할 때 액터만 바꾸면 플레이어가 게임에 있는 어떤 액터라도 제어할 수 있게 된다.

Command 객체를 선택하는 AI와 이를 실행하는 액터를 디커플링함으로써 코드는 훨씬 유연해진다.

명령 객체가 어떤 작업을 실행할 수 있다면, 이를 실행취소할 수 있게 만드는 것도 어렵지 않다.

 

여러 단계의 실행취소를 지원하는 것도 그다지 어렵지 않다. 가장 최근 명령만 기억하는 대신, 명령 목록을 유지하고 "현재" 명령이 무엇인지만 알고 있으면 된다. 유저가 명령을 실행하면, 새로 생성된 명령을 목록 맨 뒤에 추가하고, 이를 "현재" 명령으로 기억하면 된다.

'프로그래밍 패턴' 카테고리의 다른 글

프로토타입  (0) 2022.02.06
관찰자 패턴  (0) 2022.02.01
경량 패턴  (0) 2022.01.27
기본  (0) 2022.01.17
커플링 코드  (0) 2022.01.12

1. 추상화와 디커플링을 잘 활용하면 코드를 점차 쉽고 빠르게 가능. 

   코드에 유연함이 필요하다는 확신이 없다면 추상화와 디커플링을 적용하느라고 시간 낭비 X

2. 개발 내내 성능을 고민, 최적화에 맞게 설계, 가정을 코드에 박아 넣어야 하는 저수준의 핵심 최적화는 가능하면 늦게

3. 게임 기획 내용을 확인해볼 수 있도록 빠르게 개발, 너무 서두르느라 코드를 엉망 X

4. 나중에 버릴 코드를 잘 만들겠다고 시간 낭비 X

5. 뭔가 재밌는 걸 만들고 싶다면 먼저 만드는 데에서 재미를 느껴보자

'프로그래밍 패턴' 카테고리의 다른 글

프로토타입  (0) 2022.02.06
관찰자 패턴  (0) 2022.02.01
경량 패턴  (0) 2022.01.27
명령 패턴  (0) 2022.01.22
커플링 코드  (0) 2022.01.12

커플링이 많은 코드일수록 코드 어딘가를 고칠 때 같이 다른 코드를 변경해야 할 수 있게 되는 코드

최대한 디커플링 코드로 만들어줘야 한다.

 

 

'프로그래밍 패턴' 카테고리의 다른 글

프로토타입  (0) 2022.02.06
관찰자 패턴  (0) 2022.02.01
경량 패턴  (0) 2022.01.27
명령 패턴  (0) 2022.01.22
기본  (0) 2022.01.17

+ Recent posts