목차
Design Pattern을 배우는 과정 중에 어려움이 많았고 놓친 부분이 많았다.
이에 우선 간단히 정리해두고 나중에 하나씩 짚어보려 한다.
※ 코드 비교해주는 사이트
Diffchecker - Compare text online to find the difference between two text files
Diffchecker will compare text to find the difference between two text files. Just paste your files and click Find Difference!
www.diffchecker.com
※ Design Pattern 공부 자료 사이트
https://refactoring.guru/ko/design-patterns/proxy
프록시 패턴
/ 디자인 패턴들 / 구조 패턴 프록시 패턴 다음 이름으로도 불립니다: Proxy 의도 프록시는 다른 객체에 대한 대체 또는 자리표시자를 제공할 수 있는 구조 디자인 패턴입니다. 프록시는 원래 객체
refactoring.guru
※ 여러 Design Pattern을 잘 정리해둔 블로그
https://o0zrone.tistory.com/category/Design%20Pattern
'Design Pattern' 카테고리의 글 목록
o0zrone.tistory.com
Design Pattern
25.01.06
UniTask
: Coroutine과 같이 비동기 ...
>> 설치 방법
: 링크로 들어가는게 아니라 사진처럼 누르고 URL을 붙여넣어 설치
https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask
Design Pattern
25.01.07
Addressables
: Asset에 Address를 부여하여 Asset의 위치에 상관없이 참조가 가능하게 만든다.
--> Asset의 관리, 로딩, 빌드가 통합된 시스템
장점
- 에셋 빌드와 배포의 단순화
- 효율적인 에셋 관리
- 초기 빌드 볼륨을 최소화
- 에셋별 동적 로드를 통해 메모리 관리가 가능
- 에셋을 Remote 서버로부터 제공 가능
>> 설치 방법
>> Addressable Group 세팅
Skill Controller Ver.2
: 인덱스가 아니라 인스턴스 그대로 전달
--> 이벤트에 의해 쿨타임이.....?
Design Pattern
25.01.08
Strategy Pattern
과제
- 도트 데미지가 1초에 한번씩 들어가도록
- 3초 후에 버프가 해제되도록
--> Coroutine vs UniTask
Callback..?
Object Pooling Pattern
과제
- 버닝에 걸리면 불이 나도록
- 버닝이 풀리면 불이 꺼지도록
- 프리징이 걸리면 Animation 스피드가 0이 되도록
- 프리징이 풀리면 Animation 스피드가 1이 되도록
- Particle Pool도 만들어보자
Builder Pattern, Mediator Pattern (중재자 패턴), Chain of Responsibility Pattern(책임연쇄패턴)
Builder Pattern : Damage Field
최종 과제
: 오브젝트 풀에 의해 데미지 필드가 미리 생성되어 있고, 데미지 필드가 생성될 때 각각 랜덤한 옵션이 부여되거나 해서 데미지 공식이 달라지게끔 구현한 다음 플레이어가 몬스터를 공격했을 때 HP가 깎이고 그 값이 UI로 전달돼서 표시되고 HP가 작으면 죽는 모션을 하거나 사라진다.
Design Pattern
25.01.09
Composite Pattern (컴포지트 패턴)
: Scripts/UI/InventoryWindow.cs, ItemListPanel.cs, StatsPanel.cs
과제
: Composite Pattern 뿐만 아니라 아는 Design Pattern을 접목시켜도 되니, UI 시스템을 만들어 보아라
Facade Pattern (퍼사드 패턴)
: 일반적으로 Command Pattern이랑 섞어서 사용한다.
--> Scripts/UI/UIFacade.cs
과제
: 3개의 객체를 만들어서 Doing 했을 때 객체1은 점프하고, 객체2는 달리기 모션을 하면서 Debug.Log가 찍히고, 객체3은 점프한 뒤 3초 후에 달리기 모션을 하면서 Debug.Log 찍히기
Design Pattern
25.01.10
Proxy Pattern (프록시 패턴)
: 서브에 있는 로딩, 계산 등 물리연산을 대신 해주는 것 --> Unity에 구현되어 있는 것이 훨씬 좋음, 개념만 알아가자
--> Scripts/UI/AStarPathProxy.cs, YPathProxy.cs, FindPathManager.cs, IFindPathProxy.cs, FindMonobehavior.cs
과제
- 패스 파인더 여러 개 만들기
- 비동기 로딩에 대해 공부하고 적용해보기
Visitor Pattern (비지터 패턴)
: Visitor가 Parameter를 세팅해준다는 개념이 중요 --> 인벤토리나 상점 등이랑 합쳐서 사용 가능
--> Scripts/UI/IItemVisitor.cs, RegionInventorySystem.cs
Design Pattern
25.01.14
지난 디자인 패턴 복기
- Singleton
- Command Pattern
과제
: 롤백을 해주는 기능, 내가 입력한 키를 누르지 않은 상태로 만들어주는 것 구현하자
--> State Pattern과 Command Pattern을 조합하여 롤백 가능한 프로그래밍 구조 제작 (실무에서 정말 많이 쓰이는 조합)
- 실무에서 쓰는 FSM 관리
: State를 컴포넌트로 쓰면 무겁기 때문에 State를......
'Development > C#' 카테고리의 다른 글
멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 39일차 (1) | 2025.01.16 |
---|---|
멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 38일차 (1) | 2025.01.15 |
멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 31일차 (1) | 2025.01.13 |
멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 30일차 (0) | 2025.01.11 |
멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 27일차 (0) | 2024.12.27 |