저런 경우는 객체가 현재 게임의 state를 나타낸다고 생각하고 거기에 작용하는 함수는 그 다음 state를 반환한다고 생각하면 자연스러움
이런경우는 이제 게임의 history를 들고있을 수 있으니까 undo같은걸 구현하기 쉬워진다는게 소소한 장점이고
비슷한 맥락으로 함수형설계는 아니지만 강화학습할때 쓰는 openai의 gym라이브러리도 env객체에서 메소드로 현재 상태와 다음 행동을 넘겨주면 다음 상태를 리턴하게 되어있음
물론 객체지향식으로 설계해서 객체가 state를 가지고 있고 update메소드로 state를 변경하는 것도 자연스러운 설계이고...
댓글 0