TIL

2024/4/9 TIL

jhwoo1221 2024. 4. 9. 21:57

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습
디자인 패턴을 사용하는 이유
1. 코드 재사용과 유지보수성 향상: 디자인 패턴은 공통적인 문제를 해결하기 위한 해결책으로, 일종의 설계 템플릿이다. 
이러한 패턴을 사용하면 비슷한 유형의 문제에 대해 일관된 해결 방법을 제공할 수 있으며, 이로써 코드의 재사용성이 높아지고 유지보수가 용이해진다.
2. 코드 가독성 및 확장성: 디자인 패턴을 사용하면 일반적인 설계 원칙을 따르게 되어 코드의 가독성이 향상되고, 새로운 기능 추가 또는 변경 시 전체 시스템에 미치는 영향을 최소화할 수 있다.
3. 협업 능력 향상: 디자인 패턴은 개발자들 사이의 공통 언어를 제공하므로, 코드 구조를 이해하고 협업하는 데 도움이 된다.

1. (꼬리질문) 프로젝트에 디자인패턴을 적용해 본 경험이 있나요? 왜 그 디자인패턴을 선택해서 구현하였나요?
나는 주로 싱글톤 패턴과 옵저버 패턴을 사용하는데, 그 이유는 다음 질문에서 설명하겠다.

2. (꼬리질문) Unity를 사용하면서 경험해볼 수 있는 대표적인 디자인패턴이 무엇인지 설명해주세요.

유니티에서 싱글톤 패턴과 옵저버 패턴을 사용하는 것은 다음과 같은 이유로 용이하다.
1. 게임 오브젝트 관리:

유니티는 게임 오브젝트와 컴포넌트 기반의 아키텍처를 사용한다. 
이로 인해 싱글톤 패턴은 전역적으로 접근할 수 있는 리소스 매니저, 게임 매니저, 사운드 매니저 등과 같은 클래스를 구현할 때 특히 유용하다. 
이러한 매니저들은 게임 세계에서 전역적으로 사용되므로 싱글톤 패턴을 통해 간편하게 접근할 수 있다.

2. 이벤트 처리:
유니티에서는 게임 내에서 발생하는 다양한 이벤트(충돌, 입력, 상태 변경 등)를 처리해야 한다. 
이때 옵저버 패턴을 사용하면 이벤트 발생을 감지하고 적절한 반응을 할 수 있다. 
예를 들어, 플레이어가 아이템을 획득할 때 해당 이벤트를 감지하고 인터페이스에 업데이트를 요청하는 등의 작업을 할 수 있다.

3. 간편한 확장성과 유지보수성:
유니티에서는 게임이 진행됨에 따라 기능을 추가하거나 변경해야 할 때가 많다.
싱글톤과 옵저버 패턴을 사용하면 코드를 재사용하고 확장하기 쉽게 만들 수 있다.
새로운 매니저나 새로운 이벤트를 추가할 때, 이미 존재하는 싱글톤 클래스나 옵저버를 활용하여 쉽게 새로운 기능을 구현할 수 있다.

 

+면접 팁

어떤 질문에 대해 답변할 때, 자신의 경험, 주관, 자신이라면 어떻게 활용할 것인지를 잘 풀어서 설명하기


'오늘의 나는 무엇을 잘했는지' - 성취

대분류 : 최종 팀 프로젝트 - 클라이언트 구현

소분류 : 맵 제작 및 타일셋 배치 작업

 

파밍스테이지 1

 

파밍 스테이지 2



'오늘의 나는 어떤 문제를 겪었는지, 앞으로 어떻게 해결할 것인지' - 개선

맵에 좀 더 전략적으로 활용할 수 있는 요소를 넣어야할까?

예를들면, 고지 점령같은.

이 부분은 좀 더 고민해서 설계해봐야겠다.