설계 패턴 카테고리에는 기본적인 GoF(Gang of Four) 패턴 중 일부를 표시하는 설계 패턴이 들어 있습니다.
패턴 | 목적 |
---|---|
Decorator | Decorator 패턴은 해당 인터페이스를 변경하지 않고 동적으로 객체에 책임을 추가합니다. Decorator 패턴에서는 인터페이스 원본을 구현하고 기능을 추가하며 객체 원본에 작업을 위임하므로 이 패턴은 랩퍼의 역할을 수행합니다. 구조 발견 알고리즘에서는 이 패턴을 Decorator 및 랩된 컴포넌트와 같은 2개의 클래스로 구성된 것으로 식별합니다. |
Factory Method | Factory Method 패턴은 객체를 작성할 때 필요한 인터페이스를 정의합니다. 각 Factory Method 패턴에서는 입력 매개변수 및 특정한 상황에 기반하여 인스턴스로 작성할 클래스를 정의할 수 있습니다. 구조 발견 알고리즘에서는 이 패턴을 Creator, Concrete Creator, Product 및 Concrete Product로 구성된 것으로 식별합니다. Creator는 Product를 작성하는 데 필요한 인터페이스를 지정합니다. Concrete Creator는 Concrete Product를 인스턴스로 작성하여 이 인터페이스를 구현합니다. |
Marker | Marker 패턴은 클래스의 의미 속성을 선언합니다. 구조 발견 알고리즘에서는 Marker를 메소드나 상수가 없는 빈 상태의 단일 인터페이스로 식별합니다. |
Observer/Observable | Observer/Observable 패턴은 객체 상태의 변경사항을 다른 시스템 객체에 전달합니다. 구조 발견 알고리즘에서는 이 패턴을 Observer 및 Observable로 구성된 것으로 식별합니다. Observable 클래스는 Observer 클래스의 목록을 유지보수합니다. 이때 상태가 변경되면 Observer 클래스에 이를 알립니다. |
Singleton | Singleton 패턴은 클래스에서 하나의 객체 인스턴스만 허용하게 합니다. 구조 발견 알고리즘에서는 Singleton을 private constructor 및 Singleton의 인스턴스에 대한 전역 액세스를 제공하는 public static 필드나 메소드를 포함하는 클래스로 식별합니다. |
Utility | Utility 패턴은 Stateless Utility 기능을 모델화합니다. 구조 발견 알고리즘에서는 Utility를 static 메소드만 있는 private constructor를 포함하는 클래스로 식별합니다. |
Visitor | Visitor 패턴은 객체 구조의 요소에 대해 특정 조작을 수행합니다. Visitor 패턴은 조작을 수행할 요소의 클래스를 변경하지 않고 추가 작업을 허용합니다. 구조 발견 알고리즘에서는 Visitor 패턴을 Visitor, Concrete Visitor, Element(선택사항) 및 Concrete Element로 구성된 것으로 식별합니다. Visitor는 모든 요소에서 수행할 Visit 조작을 선언하는 인터페이스입니다. Concrete Visitor는 Visitor 인터페이스를 구현하고 각 Concrete Element에 따라 활동합니다. |