일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- UniRx
- 포스트 프로세싱
- sprite atlas
- Android Plugin
- 플러그인
- 1인 개발
- addressable
- Unity
- Reflection
- Post Processing
- Addressable System
- ReferenceEquals
- Boxing
- Abstract Factory Pattern
- design pattern
- ==
- equals
- c#
- 인앱 결제
- 게임 개발
- ScriptableObject
- 디자인 패턴
- Zenject
- 스프라이트 아틀라스
- Strategy Pattern
- 최적화
- Unboxing
- Today
- Total
목록디자인 패턴 (3)
One_KWS
소개 스트래티지 패턴(Strategy Pattern)은 행위를 클래스로 캡슐화하여 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 패턴이다. 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있다. 스트래티지 패턴을 이용하면 수정이 필요한 부분을 최소화할 수 있다. 스트래티지 패턴은 아래와 상황에서 사용할 수 있다. 비슷한 작업을 하는 알고리즘이 여러 개 존재할 경우 알고리즘을 사용하는 클라이언트 코드와 알고리즘의 구현 코드를 분리하고 싶을 경우 알고리즘을 쉽게 교체하거나 확장하고 싶을 경우 Strategy Strategy 인터페이스에서는 알고리즘을 정의하는 메서드를 포함한다. public interfac..
소개 커맨드 패턴을 이용하면 요구 사항을 객체로 캡슐화 할 수 있으며, 요청을 한 객체와 이 요청을 처리할 객체를 분리한다. 이를 통해, 요청을 수행하는 객체가 다양한 요청을 처리할 수 있으며, 실행 취소, 다시 실행과 같은 기능을 제공할 수 있다. Invoker Invoker는 명령 객체를 생성하고 실행될 메서드를 호출한다. 이 때, Command 인터페이스를 통해 ConcreteCommand 객체를 호출하기 때문에 실제 ConcreteCommand 객체의 타입을 알 필요가 없다. public class Invoker { private Command command; public void SetCommand(Command command) { this.command = command; } public vo..
소개 추상 팩토리 패턴은 구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴이다. 즉, 관련성이 있는 여러 종류의 객체를 일관된 방식으로 생성하는 경우에 유용하다. 추상 팩토리 패턴을 사용하면 클라이언트에서 추상 인터페이스를 통해서 일련의 제품들을 공급받을 수 있다. 이때, 실제로 어떤 제품이 생성되는지는 전혀 알 필요도 없기 때문에 클라이언트와 팩토리에서 생산되는 제품을 분리시킬 수 있다. AbstractFactory AbstractFactory는 모든 Concrete Factory에서 구현해야 하는 인터페이스다. 제품을 생산하기 위한 일련의 메소드들을 정의한다. public interface AbstractFactory { void Create..