팩토리 메소드 패턴(Factory Method Pattern)
- 용도
- Instnce 작성을 하위 class에게 위임
- Instance를 만드는 방법은 상위 class에서 결정하지만, 구체적인 class명을 결정하지 않음
- Instance 생성을 위한 Framework과 실제 Instance를 생성하는 Class를 분리함
- 객체를 만드는 공장을 만드는 패턴 -> 결합도가 낮아질 수 있다
- 사용 방법
- Factory객체를 만들고 Factory에서 객체들을 생성한다
- Class Diagram
방문자 패턴(Visitor Pattern)
- 용도
- 데이터와 메소드를 구분하기 위함
- 많은 데이터에 여러 가지 유형의 처리를 수행할 경우 활용
- 사용 방법
- 데이터 구조 내부를 traversal하는 ‘visitor’ 클래스로 그 클래스에게 데이터의 처리를 맡김, 새로운 처리를 추가할 때는 새로운 visitor를 생성함
- Class Diagram
- 용도
- 모든 행동을 수행하기 전에 ‘중재자 객체’의 결정이 있어야 하고, 중재자 객체로 프로그램이 수행됨
- 각 객체들은 중재자만 알게됨
- 사용 방법
- Class Diagram
책임 연쇄 패턴(Chain of Responsibility Pattern)
- 용도
- 어떤 요구가 발생했을 때, 그 요구를 처리할 Object를 바로 결정할 수 없을 때, 다수의 Object를 Chain으로 연결해 차례로 방문하면서 목적에 맞는 Object를 결정함(내가 못하면 남한테 전가시킴)
- 요구하는 측과 처리하는 측의 연결을 약화시킴(Coupling을 낮추는 역할을 함)
- 사용 방법
- Handler객체가 문제를 해결했는지 확인하면서 계속해서 가능한 객체를 연결해 줌
- Class Diagram
프로토 타입 패턴(Prototype Pattern)
- 용도
- 미리 만들어진 객체를 복사해서 객체를 생성하는 방식
- 객체를 많이 만들어야 할 경우, 객체 생성에 드는 코딩 분량을 현저히 줄일 수 있다
- 클래스로부터 객체를 생성하기 어려운 경우(그래픽 에디터에서 사용자의 마우스 클릭으로 생성되는 객체들)
- 사용 방법
- 모형(Prototype) 인스턴스를 등록해 놓고, 등록된 인스턴스를 복사(clone())해서 인스턴스를 생성함
- Class Diagram