다음 상황에 적합한 디자인 패턴은?슈팅 모바일 게임을 개발하는데, 이 … | [7급 국가직 소프트웨어공학] 21년 1회차 기출문제 상세 페이지
1[7급 국가직 소프트웨어공학] 21년 1회차
다음 상황에 적합한 디자인 패턴은?슈팅 모바일 게임을 개발하는데, 이 게임은 사용자가 화면을 터치하면 게임 캐릭터가 사용자가 터치한 곳으로 무기를 발사해 적을 공격하는 기능이 있다. 이는 세부적으로 ‘사용자 터치 인식→터치 한 방향으로 캐릭터를 회전→무기를 겨누는 동작 실행→무기 발사’순서로 실행되는 단계를 가지며, 각 단계별 동작은 별도 클래스의 메서드로 구현된다. 따라서 캐릭터 무기 발사를 구현하기 위해서는 클라이언트 코드가 각각의 클래스와 내부 메서드 사용 방법을 알아야 한다. 이 문제를 해결하기 위해 클라이언트 코드에게는 위의 복잡한 메서드 호출 과정을 숨기고, 위 과정을 대신 수행하는 높은 레벨의 인터페이스를 제공하고자 한다.
1
어댑터 패턴
2
추상 팩토리 패턴
3
컴포지트 패턴
4
퍼사드 패턴
해설
복잡한 메서드 호출 과정을 숨기고 단순한 상위 인터페이스를 제공하는 것은 퍼사드 패턴이다.
퍼사드는 구조 패턴으로, 서브시스템의 여러 클래스 앞에 창구 객체를 두어 클라이언트가 내부 호출 순서를 몰라도 되게 하고 결합도를 낮춘다.
- 어댑터 패턴: 호환되지 않는 인터페이스를 클라이언트가 기대하는 인터페이스로 변환한다.
- 추상 팩토리 패턴: 관련 객체군을 구체 클래스 지정 없이 생성하는 생성 패턴이다.
- 컴포지트 패턴: 객체를 트리 구조로 구성해 개별 객체와 복합 객체를 동일하게 다룬다.
오류나 개정된 내용이 보이면 알려주세요