목록코딩/디자인패턴 (3)
공부일지
옵저버패턴의 정의옵저버(: obesrver : 관측자) 패턴 플레이어 체력을 관찰하다가 0으로 떨어진다면 UI,Controller, Manager 등에 플레이어 패배를 알리는 기능을 고려해보자. 가장 먼저 고려할 수 있는 건 아마도 Update문 안에서 프레임 단위로 체력을 확인하다가 0 이하가 된다면 처리해 주는 것이다.다만 이 경우 UI관련 코드들, Control 관련 코드, Manager코드 전부와 커플링이 되고 말 것이다. 이런 코드 전부와 커플링이 되지 않고 체력 상태를 전파하기 위해서 사용하는 것이 옵저버 패턴이다. 📌옵저버 패턴 : 하나의 옵저버를 통해 행동을 감시해서 처리하는 것이 옵저버 패턴을 사용하면 누가 받든 상관없이 알림을 보낼 수 있다. 따라서 옵저버 패턴은 위와 같이 일대 다의 ..
풀매니저란 무엇일까🤔📌 오브젝트 풀(Object Pool) : 객체를 미리 생성해 두고 필요하면 가져다 쓰고, 다 쓰면 풀에 반납하는 형식 ( 웅덩이에 객체를 넣어두고 필요할 때 꺼내쓴다는 느낌) 풀은 보통 리스트, 스택, 큐 등으로 구현.Stack이 그나마 낫다고 함. 장점생성과 소멸이라는 큰 비용의 작업을 최소화메모리 할당과 해제의 반복을 막아줌.가비지 컬렉션에 따른 성능 저하도 막아줌빈번하게 생성하고 파괴되는 객체에서 애용😺 (ex. 총알, 이펙트) 단점자칫 잘못하면 메모리 사용량 늘림오브젝트 풀의 크기를 적당히 조절해야해...+자주 사용하지 않는 오브젝트는 판단해서 가끔씩 제거하도록 ⚙풀매니저의 선언과 사용🔨using System.Collections; using System.Collections..
전략 패턴(Strategy Pattern)소개💡특정 특정 작업을 정의해놓고 A,B,C 작업을 동적으로 교체하도록 하는 패턴알고리즘을 캡슐화하여 동적으로 교체할 수 있는 구조를 제공.정책 패턴(Policy Pattern)이라고도 불림.함수를 캡슐화해서 사용할 수도 있음을 인지하고 있자. 전략 패턴의 구성 요소전략(Strategy) 인터페이스는 알고리즘을 정의하는 메서드를 선언합니다.구체적인 전략(Concrete Strategies) 클래스는 전략 인터페이스를 구현하여 실제 알고리즘을 제공합니다.컨텍스트(Context) 클래스는 전략을 사용하여 작업을 수행합니다. 전략 패턴의 예제“여러 종류의 오리를 구현하고 싶다”↪Fly기능을 추가하고 싶다.↪그러나 가령 RubberDuck(고무오리) 등의 오리는 날 수 ..