디자인패턴

    | 니앙팽이 - 객체지향(OOP) | 4-8 | 행동패턴 - State pattern

    📕 4. 객체지향 디자인 패턴유니티에서 사용하면 좋을 디자인 패턴만 명시한다.📄 5. 행동 패턴클래스와 객체간 서로 상호작용하는 방법이나 책임 분배 방법을 정의 하나의 객체로 수행할 수 없는작업을 여러 객체로 분해하면서 결합도를 낮출수 있음3). State Pattern ⓐ 특징"상태"를 객체화한 패턴이다. 이 상태라는것도 참조가능하다.상태에 따라 객체의 행위 내용을 변경해주는 패턴메인 캐릭터가 가질만한 상태를 생각해보자. jump, walk, run 등등.. 이러한 상태를 손쉽게 switcing 하고 싶을떄. 제안하는 패턴이다.오토마타의 state machine와 관련이 깊다.FSM 유한상태기계의 기초 & 유니티 설계 이론.ⓑ 왜 쓰는가?if 조건절이 많을때 사용하면 유용하다.객체의 상태에 따라 동일한..

    | 니앙팽이 - 객체지향(OOP) | 4-7 | 행동패턴 - Observer pattern

    📕 4. 객체지향 디자인 패턴유니티에서 사용하면 좋을 디자인 패턴만 명시한다.📄 5. 행동 패턴클래스와 객체간 서로 상호작용하는 방법이나 책임 분배 방법을 정의 하나의 객체로 수행할 수 없는작업을 여러 객체로 분해하면서 결합도를 낮출수 있음2). ✨ Observer Pattern✨ ✨매우 중요하므로 대리자 & 이벤트 에서 정리✨ⓐ 특징이벤트기반 패턴이다. 디커플링에 매우 유용옵서버 패턴은 여러 객체에 자신이 관찰 중인 객체에 발생하는 모든 이벤트에 대하여 알리는 구독 메커니즘을 정의할 수 있도록 하는 행동 디자인 패턴입니다.ⓑ 왜 쓰는가?옵서버 패턴은 한 객체의 상태가 변경되어 다른 객체들을 변경해야 할 필요성이 생겼을 때, 그리고 실제 객체 집합들을 미리 알 수 없거나 이러한 집합들이 동적으로 변경될 ..

    | 니앙팽이 - 객체지향(OOP) | 4-6 | 행동패턴 - Command pattern

    📕 4. 객체지향 디자인 패턴 유니티에서 사용하면 좋을 디자인 패턴만 명시한다. 📄 5. Command Pattern 행동 패턴 1. 커맨드 패턴의 특징 함수 호출(요청)을 저장하는 객체 형태로 캡슐화 Excute와 Undo를 캡슐화 하여 관리하는데 유용한 패턴이다. Command라는 추상적인 단위로 ConcreteCommand라는 클래스를 만들 수 있고. 함수호출이란, 리시버에 의존하여 리시버의 함수를 수행한다 라는것. 함수 호출 타이밍 조절 & 로깅 커맨드를 콜렉션(Queue, Stack, List)으로 관리할 수 있다. 실행 타이밍에 순서를 둘 수 있으니 턴제 게임에도 유용하다. 굳이 그 클래스에 정의되지는 않지만. 특정한 로직을 수행하는 메소드를 외부에 정의하도록 하여 함수에 사용될 데이터와 객체..

    | 니앙팽이 - 객체지향(OOP) | 4-4 | 구조패턴 - Decorator pattern

    📕 4. 객체지향 디자인 패턴유니티에서 사용하면 좋을 디자인 패턴만 명시한다.📄 4. 구조 패턴클래스나 객체를 조합하여 더 큰구조로 만드는 패턴2). Decorator Patternsⓐ 특징객체의 기본 기능에 추가 기능을 덧붙여 결합 & 장착할 수 있다. 1. 다수의 옷이 가진 각각의 효과를 결합 할 수 있다.즉 객체를 런타임 동안 동적으로 변화시킬수 있다.ⓑ 왜 쓰는가?기능 확장성기존 코드를 수정하지 않고도 데코레이터 패턴을 통해 행동을 확장할수 있다.동적 확장성구성과 위임을 통해서 실행중에 새로운 행동을 추가할 수 있습니다.ⓒ 구성요소Component인터페이스 또는 추상클래스가 된다.기본 기능을 정의한다.ConcreteComponent기본 기능이 되는 인스턴스가 된다. 데코가 붙을 대상Componen..

    | 니앙팽이 - 객체지향(OOP) | 4-3 | 구조패턴 - Composite pattern

    📕 4. 객체지향 디자인 패턴유니티에서 사용하면 좋을 디자인 패턴만 명시한다.📄 4. 구조 패턴클래스나 객체를 조합하여 더 큰구조로 만드는 패턴1). Composite Patternⓐ 쓰는 이유?컴포지트 패턴은 앱의 핵심 모델을 트리로 나타낼 수 있는 경우에만 의미가 있다.여러 개체를 동일한 목적으로 사용하고 있으며 각 개체를 처리하는 코드가 거의 동일한 경우 컴포지트를 사용하는 것은 좋은 선택이다.칼이면 휘두루고, 총이면 방아쇠를 당기는등. 컴포지트와 각기다른 객체의 차이를 무시하고 어쨌든 공격한다는 점에서 같은 동작처럼 사용하고 싶을때. Composite should be used when clients ignore the difference between compositions of objects ..

    | 니앙팽이 - 객체지향(OOP) | 4-1 | 디자인패턴 개요

    📕 4. 객체지향 디자인 패턴유니티에서 사용하면 좋을 디자인 패턴만 명시한다.📄 1. 사전 지식1). 응집도와 결합도.link : 응집도와 결합도📄 2. 디자인패턴 개요1). 디자인패턴 왜 배우나?통계적으로 발생되는 문제 23개 패턴 읽기쉽게 이해하기쉽고 수정하기쉬운 코드로 만들기 위해2). 종류 : 이것중 우리는 일부만 배운다.생성 패턴 : 5구조 패턴 : 7행위 패턴 : 113). 아키텍쳐 패턴 VS 디자인 패턴아키텍쳐 패턴 : 시스템 구조에 대한 가이드 라인모듈 & 컴포넌트를 어떻게 배치할지디자인 패턴 : 모듈의 세분화된 역활 & 보듈간의 인터페이스를 상세 구현할때 쓰는 가이드 라인참고https://korstrix.github.io/index/Index/https://github.com/Habrad..