[TIL] 디자인 패턴
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.
소프트웨어 개발에서 반복적으로 나타나는 문제에 대한 일반적 해결책
KISS = Keep It Simple, Stupid
복잡도는 필요할 때만 높이라는 원칙
DRY = Don't Repeat Yourself
반복하지 마라
10개 패턴의 흐름:
| 그룹 | 패턴 | 무엇을 해결하나 |
|---|---|---|
| 생성 | 팩토리 → 오브젝트 풀 → 싱글톤 | 객체를 어떻게 만들고/재사용하고/공유할까 |
| 행동 | 커맨드 → 상태 → 옵저버 | 객체의 행동·상태·소통을 어떻게 구조화할까 |
| 아키텍처 | MVP | UI와 데이터를 어떻게 분리할까 |
| 최적화·기타 | 전략 → 플라이웨이트 → 더티 플래그 | 알고리즘 교체, 메모리 절약, 불필요한 연산 줄이기 |
게임 중 적, 아이템, 발사체, 장애물 등 다양한 생성 로직이 필요한 것들을 if/switch로 직접 관리하면 종류가 늘 때마다 분기가 늘어나고 코드가 비대해진다. 팩토리 패턴은 "공장"이라는 특수 객체에 제품 생성의 세부 사항을 맡긴다.
팩토리 패턴 = 객체 생성을 공장에 캡슐화해 분기 코드 축소
쓰는 이유
오브젝트 풀은 객체를 미리 만들어 두고 재사용 한다. 필요하면 풀에서 꺼내 활성화하고 다 쓰면 파괴 대신 비활성화하여 풀로 반환한다
커맨드 패턴의 핵심!!!!)
디자인 패턴 상태 패턴, 옵저버 패턴, MVP 패턴, 전략 패턴, 플라이웨이트 패턴, 더티 플래그 패턴

우리들의 게임 발매 이야기

안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.


안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.