[유니티/C#] 게임 디자인 패턴(Design Pattern)과 리팩토링(Refactoring)
게임 최적화란? 게임 프로그래밍 디자인 패턴을 이해하려면 먼저 좋은 소프트웨어 구조에 대해 알아야 한다. 좋은 소프트웨어 구조는 코드를 거의 건드리지 않고도, 적당한 함수 몇 개만 호출하면 원하는 작업을 할 수 있도록 '범용성' 있게 설계한 구조를 말한다. 해당 코드를 얼마나 쉽게 변경할 수 있는지, 얼마나 다양한 방식으로 활용할 수 있는지 여부가 '좋은' 코드 설계를 평가하는 척도가 된다. 비용 발생 생산성이 높은 소프트웨어 구조를 설계하는 과정에서 일반적으로 '추상화'와 '모듈화' 다음 2가지 방법을 채택한다. 하지만 기능을 추가하거나, 코드를 조금씩 변경할 때 마다 나머지 코드들과 통합되어야 하는데, 그 과정에서 잦은 디버깅으로 인해 유지 비용이 발생한다. 가령, 확장성을 위해 기존 코드에 인터페이..