최대 1 분 소요

다른 디자인패턴들

  • 싱글톤, 전략, 옵저버 패턴 이외에도 여러가지 디자인패턴들이있습니다.

컴포지트[Composite] 패턴

  • 컴포지트란 여러개의 유사한 객체로 구성된 집합객체로, 모두 유사한 기능을 나타낸다.
  • 이를 통해 객체 그룹을 조작하는 것처럼 단일 객체를 조작할 수 있다.
  • 컴포지트 패턴은 복합객체나 단일객체를 모두 도일하게 취급하는것을 목적으로 하며 트리구조로 작성하여 전체-부분 관계를 표현한다.

image

  • 게임에서는 캐릭터가 렌더링되는 메인뷰, 잔여 시간을 보여주는 서브 뷰등 여러 뷰가 있다. 유지보수가 중요한 게임 개발에서 각 뷰에 서로다른 함수 이름과 호출방식이 있다면 유지보수가 어려워질 수 있다.
  • 따라서 모든 뷰에 대한 통합 호출 방식을 제공한다. 즉 동일한 함수 호출로 메인 뷰와 서브 뷰에 모두 접근이 가능하게하는것이 컴포지트 패턴이다.

image

MVC[Model-View-Controller] 패턴

  • MVC 패턴이란 하나의 애플리케이션 또는 프로젝트를 구성할 때 그 구성을 모델, 뷰, 컨트롤러 세개의 역할로 구분한 패턴이다.
  • 모델(Model)은 응용 프로그램에서 데이터를 처리하는 부분으로, DB연결 및 데이터 추출, 저장, 삭제, 갱신등의 작업을 수행한다.
  • 뷰(View)는 화면에 표시되는 부분으로, 컨트롤러로부터 받은 모델의 결과 값으로 사용자에게 출력할 화면을 만들어 출력하는 인터페이스 역할을 한다.
  • 컨트롤러(Controller)는 클라이언트의 요청을 처리하고 흐름 제어를 담당한다. 클라이언트로부터 데이터를 받아 모델에 전달하기 쉽게 데이터를 가공하고 뷰로 전달하는 중계자 역할을 수행한다.

image

외의 여러가지 디자인패턴

  • 앞서 소개한 5가지 디자인패턴은 게임개발에 많이 사용되는 대표적인 디자인패턴이다.
  • 이것말고도 여러가지 디자인패턴들이있다.

image

  • GoF 디자인패턴이라고해서 정보처리기사 공부를 한다면 필히 알아야할 디자인패턴들이다.

참고블로그 참고블로그

댓글남기기