디자인 패턴의 종류
Android/Tips 2018. 3. 13. 11:45 |- 스트래티지 패턴 (strategy pattern)
교환 가능한 행동을 캡슐화하고 위임을 통해서 어떤 행동을 사용할지 결정한다.
- 옵저버 패턴 (observer pattern)
상태가 변경되면 다른 객체들한테 연락을 돌릴 수 있게 한다.
- 데코레이터 패턴 (decorator pattern)
객체를 감싸서 새로운 행동을 제공한다.
- 팩토리 패턴 (factory pattern)
생성할 구상 클래스를 서브클래스에서 결정한다.
- 추상 팩토리 패턴 (AbstractFactory pattern)
클라이언트에서 구상 클래스를 지정하지 않으면서도 일군의 객체를 생성할 수 있도록 한다.
- 싱글턴 패턴 (singleton pattern)
딱 한 객체만 생성되도록 한다.
- 커맨드 패턴 (command pattern)
요청을 객체로 감싼다.
- 어댑터 패턴 (adaptor pattern)
객체를 감싸서 다른 인터페이스를 제공한다.
- 퍼사드 패턴 (facade pattern)
일련의 클래스에 대해서 간단한 인터페이스를 제공한다.
- 템플릿 메소드 패턴 (template method pattern)
알고리즘의 개별 단계를 구현하는 방법을 서브클래스에서 결정한다.
- 이터레이터 패턴 (iterator pattern)
컬렉션이어떤 식으로 구현되었는지 드러내진 않으면서도 컬렉션 내에 있는 모든 객체에 대해 반복 작업을 처리할 수 있게 한다.
- 컴포지트 패턴 (composite pattern)
클라이언트에서 객체 컬렉션과 개발 객체를 똑같이 다룰 수 있도록 한다.
- 스테이트 패턴 (state pattern)
알고리즘의 개별 단계를 구현하는 방법을 서브클래스에서 결정한다.
- 프록시 패턴 (proxy pattern)
객체를 감싸서 그 객체에 대한 접근을 제어한다.
- 컴파운드 패턴 (compound pattern)
반복적으로 생길 수 있는 일반적인 문제를 해결하기 위한 용도로 두 개 이상의 패턴을 결합해서 사용한는 것
- 브리지 패턴 (bridge pattern)
구현 뿐만 아니라 추상화된 부분까지 변경시켜야 하는 경우
- 빌더 패턴 (builder pattern)
제품을 여러 단계로 나눠서 만들 수 있도록 제품 생산 단계들을 캡슐화할 때
- 역할 사슬 패턴 (chain of responsibility pattern)
한 요청을 두 개 이상의 객체에서 처리하고 싶을 때
- 플라이웨이트 패턴 (flyweight pattern)
어떤 클래스의 인스턴스 한 개만가지고 여러 개의 "가상 인스턴스"를 제공하고 싶을 때
- 인터프리터 패턴 (Interpreter pattern)
어떤 언어에 대한 인터프리터를 만들 때
- 미디에이터 패턴 (mediator pattern)
서로 관련된 객체 사이의 복잡한 통신과 제어를 한 곳으로 집중시키고자 할 때
- 메멘토 패턴 (memento pattern)
객체를 이전의 상태로 복구시켜야 하는 경우
- 프로토타입 패턴 (prototype pattern)
어떤 클래스의 인스턴스를 만드는 것이 자원/시간을 많이 잡아먹거나 복잡한 경우
- 비지터 패턴 (visitor pattern)
다양한 객체에 새로운 기능을 추가해야 하는데 캡슐화가 별로 중요하지 않은 경우
'Android > Tips' 카테고리의 다른 글
[dex2jar]추출한 APK 파일에서 classes.dex 파일 디컴파일(decompile)하기 (0) | 2016.07.26 |
---|---|
[Android] Enum Type을 피하라? (0) | 2015.11.25 |
Android Emulator hosts 변경 방법 (0) | 2015.11.17 |
Android Proguard 설정법 (0) | 2015.06.02 |
Google I/O 2015에서 언급된 새로운 OS (Android M)에 대한 내용 요약 (0) | 2015.06.01 |