JAVA/Design Patterns2008. 12. 12. 15:10
GRASPA패턴은 객체지향설계에서의 역할(책임)의 부여 혹은 할당을 위한 지침이다.
Craig Larman이 저서인 'APPLYING UML AND PATTERNS' 에서 소개하고 있다.

리팩토링의 'indirection'의 의미를 찾다가 알게 되었으며 패턴이라 하기엔 무척 간단하다.
  • Controller
    이벤트(버튼클릭등) 발생시 책임(역할)을 부여한다.
    디자인패턴으로 유명한 MVC 패턴에서 Controller 패턴이 적용되고 있다.
  • Create
    인스턴스 생성시 책임(역할)을 부여한다.
  • Expert
    필요한 정보를 보유하고 있는 클래스에 책임(역할)을 부여한다.
  • High Cohesion
    관련된 기능을 하나의 오브젝트로 묶을 수 있도록 책임(역할)을 부여한다.
  • Indirection
    클래스사이에 간접클래스를 정의한다.
  • Low Coupling
    오브젝트 끼리의 결합도가 낮아 지도록 책임(역할)을 부여한다.
  • Polymorphism
    다형성
  • Pure Fabrication
    공통의 기능을 제공하는 클래스를 생성해 책임(역할)을 부여한다.
  • Variation Protected
    앞으로 예측되는 변화에 대해 기존의 설계에 반영하여 책임(역할)을 부여한다.

Posted by B정상