구조 패턴4 [C#/Unity][디자인패턴] 브릿지 패턴(Bridge Pattern) 1. 브릿지 패턴이란? - 클래스의 구현 계층과 추상 계층을 분리하여 각자의 독립적인 변형을 용이하게 한다. - 구현부에서 추상층을 분리하여 각자 독립적으로 변형이 가능하고 확장이 가능하도록 한다. - 객체의 확장성을 향상시키기 위한 패턴. 2. 브릿지 패턴을 사용하는 경우 - 클래스의 내용과 클래스에서 처리하는 일이 자주 변화하는 경우 - 기존 시스템에 부수적인 새로운 기능들을 지속적으로 추가 해야하는 경우 - 부모 추상 클래스가 기본 규칙 세트를 정의하고 구체적인 클래스가 추가 규칙을 추가하고 싶은 경우 - 객체에 대한 참조가 있는 추상 클래스가 있고 각 구체적인 클래스에서 정의될 추상 메서드가 있는 경우 3. 브릿지 패턴의 장점 - 새로운 인터페이스를 정의하여 기존 프로그램의 변경없이 기능을 확장할.. 2023. 12. 5. [C#/Unity][디자인패턴] 프록시 패턴(Proxy Pattern) 1. 프록시 패턴이란? - 어떤 객체를 사용하고자 할 때, 객체를 직접적으로 참조 하는것이 아니라, 해당 객체를 대행(대리, proxy)하는 객체를 통해 대상 객체에 접근하는 방식을 사용하는 패턴. - 해당 객체가 메모리에 존재하지 않아도 기본적인 정보를 참조하거나 설정할 수 있고, 실제 객체의 기능이 반드시 필요한 시점까지 객체의 생성을 미룰 수 있다. - 원래 객체에 대한 접근을 제어할 수 있어, 요청이 들어와 원래 객체에 전달되기 전이나 후에 무언가를 수행할 수 있다. - 대리자로써 작업 수행을 요청하면 처리 후 그 결과를 알려주는 패턴. - 특정 객체에 대한 접근을 제어하거나 기능을 추가할 수 있는 패턴. - 상속받은 인터페이스의 클래스 내부에서 같은 인터페이스를 상속받은 인스턴스를 생성하는 패턴.. 2023. 12. 4. [C#/Unity][디자인패턴] 경량 패턴(Flyweight Pattern) 1. 경량 패턴이란? - 재사용 가능한 객체 인스턴스를 공유시켜 메모리 사용량을 최소화하는 구조 패턴. - 한 개의 고유 상태를 다른 객체들에서 공유하게 만들어 메모리 사용량을 줄이는 패턴 - 내용이 같은 객체가 이미 있으면 새로 객체를 만들지 않고, 내용이 같은 기존 객체를 공유한다. - 동일하거나 유사한 객체들 사이에 가능한 많은 데이터를 서로 공유하며 사용하도록 메모리 사용량을 최소화하는 패턴. - 반복된 데이터에 대해 하드웨어의 부담을 줄여주는 패턴 2. 경량 패턴을 사용하는 경우 - 메모리를 최소한으로 사용해야하는 경우 - 공통적인 인스턴스를 많이 생성하는 로직이 포함된 경우 - 생성된 객체가 오래도록 메모리에 상주하며 사용되는 횟수가 많은 경우 - 어플리케이션에 의해 생성되는 객체의 수가 많아.. 2023. 12. 1. [C#/Unity][디자인패턴] 디자인 패턴(Design Pattern) 알아보기 1. 디자인 패턴이란? - 설계자로 하여금 재사용이 가능한 설계를 선택하고, 재사용을 방해하는 설계를 배제하도록 도와줌 - 시스템의 유지보수나 문서화를 개선할 수 있고, 클래스의 명세도 정확하게 알 수 있으며, 객체 간의 상호작용 또는 설계의도까지 명확하게 정의할 수 있음. - 즉, "올바른" 설계를 "빨리" 만들 수 있도록 도와줌. - 같은 실수를 반복하지 않기 위해 특정 상황에서 발생하는 문제 패턴을 발견하고 해결방안을 기록한 것 - 효율적인 코드를 만들기 위한 방법론 2. 디자인 패턴의 종류 1) 생성 패턴 - 객체의 생성과 초기화를 다룸 - 객체를 만드는 방법에 대한 패턴 2) 구조 패턴 - 객체와 클래스를 조합해 더 큰 구조를 만드는 방법을 다룸 - 객체들의 구성이나 클래스들의 구성을 다루는 패.. 2023. 11. 7. 이전 1 다음