마우스로 조작하는 아이소메트릭 뷰의 가상의 rpg를 만든다고 가정
지나가던 모든 npc는 파티제안을 걸어서 동료가 될 수 있음
이때 ‘파티원 선택’과 같은 bool값 프로퍼티는 npc상태일 경우에는 보유할 필요가 없다
데코레이터 패턴을 쓰면 무거운 npc 객체를 생성자에서 받는 클래스로 한번 래핑해서 함수 api 맞춰주고 IsSelected 같은 속성 하나를 추가해주는 방식으로 관리할 수 있을거같고
또 다른 방법으로는 그냥 파티에 추가될 때 PlayerComponent같은걸 추가해 주는 것임.
어느게 더 나은 방식일까?
정답은 없겠지만 2번을 선호함
데코레이터 쓰기 적합한 예시는 아닌듯 나는 npc객체와 플레이어블 객체를 구분할것같음
그것도 고민해 봤는데, 그렇게 만들면 파티원으로 추가되거나 뺄 때마다 좀 번거로워지는거 아님?