패턴이름 | |
---|---|
생성 패턴 | 추상 팩토리 (Abstract Factory) |
빌더 (Builder) | |
팩토리 메서드 (Factory Method) | |
프로토타입 (Prototype) | |
싱글턴 (Singleton) | |
구조 패턴 | 어댑터 (Adapter) |
브리지 (Bridge) | |
컴퍼지트 (Composite) | |
데커레이터 (Decorator) | |
퍼사드 (facade) | |
플라이웨이트 (Flyweight) | |
프록시 (Proxy) | |
행위 패턴 | 책임 연쇄 (Chain of Responsibility) |
커맨드 (Command) | |
인터프리터 (Interpreter) | |
이터레이터 (Iterator) | |
미디에이터 (Mediator) | |
메멘토 (Memento) | |
스테이트 (State) | |
스트레티지 (Strategy) | |
템플릿 메서드 (Template Method) | |
비지터 (Visitor) |
패턴 분류 | 패턴 이름 | 패턴 설명 |
---|---|---|
생성 패턴 | 추상 팩토리 (Abstract Factory) |
구체적인 클래스에 의존하지않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴 |
팩토리 메서드 (Factory Method) |
객체 생성 처리를 서브 클스로 분리해 처리하도록 캡슐화하는 패턴 | |
싱글턴 (Singleton) |
전역 변수를 사용하지않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴 | |
구조 패턴 | 컴퍼지트 (Composite) |
여러 개의 객체들로 구성된 복합 객체와 단일 객체를 클라이언트에서 구별 없이 다루게 해주는 패턴 |
데커레이터 (Decorator) |
객체의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있게 해주는 패턴 | |
행위 패턴 | 옵서버 (Observer) |
한 객체의 상태 변화에 따라 다른 객체의 상태도 연동되도록 일대다 객체 의존 관계를 구성하는 패턴 |
스테이트 (State) |
객체의 상태에 따라 객체의 행위 내용을 변경해주는 패턴 | |
스트래티지 (Strategy) |
행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 패턴 | |
템플릿 메서드 (Template Method) |
어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴 | |
커맨드 (Command) |
실행될 기능을 캡슐화함으로써 주어진 여러 기능을 실행할 수 있는 재사용성이 높은 클래스를 설계하는 패턴 |