디자인 패턴 카탈로그


  1. 디자인 패턴 카탈로그란?
    디자인 패턴에 대한 설명을 자세하게 설명한 것으로 패턴의 용도, 만들어진 배경, 적용될 수 있는 범위, 해결책, 적용한 결과(장점과 단점) 등을 자세하게 기술한 것으로 정의된 다자인 패턴에 대해서 바로 알아볼 수 있으며, 어느 상황에 적용해야 하는지를 알려 준다. 
  2. 디자인 패턴 카탈로그 구성 요소
    • 디자인 패턴 이름 (Name)
      패턴에서 가장 중요한 것으로 다른 개발자들과 정보를 공유하기 위해서 필요하다.
    • 용도 (Intent)
      패턴의 역할이 간단히 기술되며, 패턴을 정의할 때 썼던 내용이 들어간다.
    • 동기 (Motivation)
      문제를 기술하고 주어진 해결책이 어떻게 문제를 해결하는지 구체적인 시나리오가 주어진다.
    • 적용 대상 (Applicability)
      패턴이 적용할 수 있는 상황이 기술된다.
    • 구조 (Structure)
      패턴에서 쓰이는 클래스들의 관계를 보여주는 다이어그램이 수록된다.
    • 구성 요소 (Participant)
      디자인에 포함되는 클래스와 객체들에 대한 설명이 들어 있고, 패턴 내에서 클래스/객체가 맡는 임무와 역할을 설명한다.
    • 협동 (Collaborations)
      구성요소(Participant)들이 패턴 내에서 어떤 식으로 서로 도움을 주는지가 설명된다.
    • 결과 (Consequences)
      패턴을 사용했을 때의 효과인 장점과 단점이 수록된다.
    • 구현 (Implementation)
      패턴을 구현할 때 필요한 기술 및 주의사항에 대한 설명이 들어있다.
    • 샘플 코드 (Sample Code)
      구현하는 데 도움이 될 만한 코드를 제공한다.
    • 사용 예 (Known uses)
      실제 시스템에서 패턴을 사용하는 예에 대한 설명이 들어있다.
    • 관련 패턴 (Related Patterns)
      이 패턴과 다른 패턴 사이의 관계에 대한 설명이 나와있다.
  3. 디자인 패턴 카탈로그를 통해서 패턴이 어느 곳에 사용 되어야 적절한지 파악하기 쉽다.