객체 생성을 서브클래스 (다른클래스)에 위임하여 확장 가능객체 생성 코드를 단순화, 설계도를 숨겨서 접근을 어렵게용도: 적 스폰 시스템, 아이템 생성, 탄환 발사 등등
(많이 쓰지는 않는 것 같다)생성자가 너무 많은 경우 어디에 무엇을 넣을지 헷갈려 실수가 발생할 수 있음빌더 패턴으로 생성자를 순서에 상관없이 설정할 수 있다.아래 코드에서 생성자가 너무 많은 경우 헷갈려서 실수가 발생할 수 있다.그래서 빌더 패턴을 사용할 수 있음
팩토리 패턴과 빌더 패턴을 합친 코드
원래 클래스 구조를 바꾸지 않고, 내가 필요한 인터페이스 형태로 변환시켜서 통합 관리서로다른 인터페이스를 가진 클래스들을 함께 작동하게 하고싶을때기존 코드를 수정하지않고 새 클래스나 라이브러리를 기존 시스템에 맞춰 연결Adapter 패턴은 레거시를 관리하는 목적이므로
Singleton 시연 영상(Scene전환을 통한 Singleton 확인)프로그램 전체에서 단 하나의 인스턴스만 존재하도록 보장어디서든 접근할 수 있음불필요한 중복생성을 방지할 수 있다(코드에 너무 집착하지말고 개념을 확실히 하는것이 좋음. 물론 코드도 알면 좋다)유니
옵져버 패턴 시연 동영상객체간 1:N 관계를 정의하여 한 객체의 상태가 변경되면 의존 객체들이 자동으로 알림을 받는 디자인 패턴발행자 <-> 구독자 구조느슨한 결합유니티에서는 UI이벤트 시스템, 알림 시스템 에 사용delegate 가 생각나는 패턴Subject(
3번정도 실습했지만 익숙해지기까지는 시간이 걸릴듯. 여러번 사용해 보야아 한다개념은 간단하게 여러개 오브젝트 만들어놓고, 필요할때마다 꺼내쓴다 (+ 더 필요하면 더만듬)게임에서 자주 생성하고 삭제되는 오브젝트를 미리 만들어 놓는 것어떤 Objcet가 생성과 삭제가 잦으
model, View, Controller 로 구성ModelViewControllerModel로 데이터와 로직 짜고, View코드로 UI로 어떻게 표시할 것인지 대략적으로 생각마지막으로 Controller코드로 model과 View를 이어서 사용Model, View,
MVPmodel view presenterView에서 Presenter의 생성자를 이용해서 사용, 인터페이스 사용Model인터페이스PresenterViewPlayer에다가 View 스크립트를 넣음만약 UIManager가 있는 구조라면 View 스크립트에 UIManger
model view viewModelmodel : 데이터view : UIViewModel : model과 view의 중간 연결자View와 ViewModel은 직접 코드로 연결되지않고 Binding으로 연결데이터값이 바뀌면 UI정보도 자동으로 바뀐다마치 옵저버 패턴과 비
요약 클래스끼리 직접 호출하는게 아닌 관리하는 하나의 클래스(중재자)를 만들어서 그곳에서 처리이미 예전부터 사용하고있었음 (싱글톤 + 싱글톤을 통해서 기능 수행)객체간의 직접 통신을 제한하고 중재자를 통해서 협력하게 하는 패턴. 여러 객체들의 상호작용을 하나로 집중시켜
상태패턴 시연 영상 FSM이란? 상태패턴? [Behavior Tree란?] (https://velog.io/@orisa/%EC%9C%A0%EB%8B%88%ED%8B%B0-Behavior-Tree-BT) 구현 난이도 : FSM < 상태패턴 < BT 구조 복잡할수록 효율
MVP가 생각보다 어려워서 두번째 예제를 만듬Monster가 죽으면 싱글톤 MonsterManager에서 MonsterDead라는 이벤트를 Invoke한다.Gold변화량을 UI에 표시해야할때 아래처럼 사용.골드를 필드로서 들고 있을 대상(플레이어)이 모델, 얘한테 골드
상태 패턴과 비슷하지만, 전략패턴은 전략(상태)를 외부에서 전환한다전략패턴 -> 메서드 (행동)들만 넣자부모에 필드는 넣지말고 필요하다면 자식에 따로따로 넣는 것이 좋을듯현재 case문을 보면 상태가 3개가 있는데 이것들은 하나의 매개변수를 받는 이름만 다른 메서드를
행동을 저장하거나, 순서 바꾸거나, 되돌려야 할때 커맨드 패턴을 사용한다 (키설정변경,리플레이,Undo기능)요청을 객체의 형태로 캡슐화해서 나중에 이용할수있도록 정보를 저장 혹은 로깅.실행 주체와 요청자를 분리한다. 요청을 저장하고 실행/취소 재실행이 가능하도록 설계실

BT 시연 영상코드에서 Behavior Tree를 하는 방법유니티에서 제공하는 Behavior Graph를 이용하는 방법이 있다.그림판키고 어떻게할지 그림을 구성을 그리면서 하는게 좋다. Behavior Tree의 조건에 따라서유니티공식문서 - Behavior Grap