OOP 기초-> 코드 디자인 패턴->아키텍쳐 패턴


OOP면


클래스,객체,상속 다형성인데 뭐 이거야 그냥 하다보면 알게되는거고


코드 디자인 패턴은 유니티 가이드 있으니까 그거봐라


주로 코드 디자인 패턴 중 자주 쓰이는 건


생성(Object 생성에 관여)

팩토리,추상 팩토리,빌더,프로토 타입,싱글톤(최근에 여기에 서비스 로케이터 포함)


구조(Object 단위, 즉 오브젝트를 나누는데 관여)

어댑터, 브릿지, 데코레이터,퍼사드,플라이웨이트


행동(Object 책임 할당)

커맨드,이터레이터,모듈레이터,옵저버


코드 디자인 패턴은 복잡도 올려주고 쓸모 없다고 생각될 수 있는데 해외 커뮤니티랑 소통할려면 필수고


이후에 MVC, MVVM 같은 아키텍쳐 패턴을 배우는게 도움됨.


MVC-> 모델+뷰+컨트롤러

MVP-> 모델+뷰+진행자(Presneter)

MVVM->모델+뷰+ 뷰모델


MVC는 사용자 액션을 컨트롤러에 받아서, Model업데이트하고, 모델이 뷰를 보여주는거고(뷰와 컨트롤러를 결합한 설계)

MVP는 사용자 액션을 뷰를 통해서 받고, 뷰 데이터를 진행자에 요청, 진행자는 모델에게 데이터 요청(진행자는 뷰를 알고 있지만, 뷰는 진행자에 의존하지 않는 설계)

MVVM은 액션을 뷰에서 받고, 뷰에 액션 들어오면 커맨드 패턴으로 뷰 모델에 액션 전달하고, 뷰 모델은 모델에게 데이터 전달함(뷰 모델이 뷰와 모델간의 매개 역할을 하고, 뷰는 뷰 모델과 데이터 바인딩되서 UI랑 데이터 로직을 분리시킴)


MVC는 기본적으로 익혀두면 유니티에서 가장 자주 사용되는 아키텍쳐 배우고


보통 이순서로 배워라


그리고 C#의 꽃은 이벤트니까 이벤트, 액션 델리게이트는 기억해두고


대강 이정도 떼우면 이제는 자기와의 싸움이니까 열심히하셈