C#/Design Pattern

[C# / Unity] 디자인 패턴 (Design Pattern)

윤창범 2021. 3. 28. 20:26

본 게시글은 여러 참고 자료들의 내용들을 토대로 다시 재정리하여 인용한 내용을 담고 있습니다.
※자료의 출처는 문단 최하단에 표기되어 있으며, 관련 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.


디자인 패턴 (Design Pattern)

  • 디자인 패턴은 소프트웨어를 설계 및 개발하면서 반복적으로 발생하는 문제들을 해결하기 위한 방법들을 일반화하여 정리한 것
  • 상황에 따라 문제에 적합한 디자인 패턴을 참고하여, 간편하게 적용할 수 있게 정리되어 있음
  • 이미 많은 개발자들이 고민했던 문제들에 대한 해결 사례로 인정한 패턴들이 모여있어, 빠르게 해결할 수 있는 장점이 있음
  • 디자인 패턴을 적용하면 소프트웨어의 재사용성, 가독성, 유지보수성, 확장성, 안정성과 신뢰성을 끌어올릴 수 있음


디자인 패턴은 어느 한 프로그래밍 언어나 소프트웨어에서만 국한되는 것이 아니라, 여러 프로그래밍 언어와 소프트웨어에서도 충분히 적용할 수 있는 유용한 접근법이다.

기존의 패턴을 참고하여 자신만의 새로운 패턴을 만들어 적용하거나, 현업에서는 각 프로젝트에서 마주한 문제 상황과 팀의 코드 작성 규칙이나 방향에 따라서 기존 디자인 패턴과 비슷하지만 변화된 새로운 형태로 적용할 수도 있다.

디자인 패턴을 사용하는 가장 주된 이유는 위에서 언급한 5가지 내용과 관련이 있는데, 바로 협업 개선과 유지보수 용이성이라고 생각한다.

예를 들어 한 게임회사에서 게임을 개발하고 출시한다고 하면, 최소 1년 이상은 라이브 서비스가 이루어질 테고, 그동안 지속적으로 새로운 업데이트 개발과 유지 보수를 해야한다.

이런 과정 속에서 계속 마주하게 될 여러 문제들을 해결하는데, 협업을 하는 입장에서 디자인 패턴이 굉장히 유용하게 쓰이는 경우가 많다.


만약에 유니티로 게임을 개발해봤거나, 디자인 패턴 적용 경험이 이미 있다면 싱글턴 패턴 (Singleton pattern) 에 대해 한번쯤 들어봤을 것이다.

많이 들어보고 직접 써봤다면 익숙하겠지만, 보통은 디자인 패턴에 대해서 자세히는 모르고 있는 상태에서 먼저 배우고 써보는 경우가 대다수일 것이다.


그래서 각 패턴들이 왜 필요하고 어디에 사용될 수 있는지, 그리고 위의 예시로 들은 싱글턴 패턴이 아니더라도 이외에 적용 가능한 여러 유용한 패턴들이 있기 때문에 앞으로 유니티를 통해서 게임을 만들 때 실제로 패턴이 어떻게 적용될 수 있는지 알아볼 것이다.

 

 

 

※ 패턴의 종류와 알아두면 좋은 관련 정보들은 숙지 내용과 참고자료를 확인
※ 해당 디자인 패턴과 관련하여 사전에 숙지하면 좋은 내용

 

hongjinhyeon.tistory.com/25

hongjinhyeon.tistory.com/28?category=243922

 

 

※ 참고자료

math-development-geometry.tistory.com/m/57?category=708726

korstrix.github.io/designpattern/Design_Pattern/

 

반응형