JAVA

GRASP (General Responsibility Assignment Software Patterns) 패턴

양상추상츄 2022. 1. 25. 22:54
 

GRASP Pattern이란?

 

nesoy.github.io

GRASP Pattern에 대해서 정리가 너무 잘되있어서 메모함

 

한번봐서는 잘이해가 안되니 계속봐야 할 것 같다.

 

위의 링크를 보면 더 자세히 알 수 있지만 간단히 첫내용만 확인하자면

  • General Responsibility Assignment Software Patterns
  • Object-Oriented 디자인의 핵심은 각 객체에 책임을 부여하는 것.
  • 책임을 부여하는 원칙들을 말하고 있는 패턴.
  • 구체적인 구조는 없지만, 철학을 배울 수 있다.
  • 총 9가지의 원칙을 가지고 있다.

여기서 가장 중요하다고 생각되는 내용은 "각 객체에 책임을 부여하는 것" 인 것 같다.

(General Responsibility Assignment Software Patterns를 직역하면 일반 책임 할당 소프트웨어 패턴 이다.)

 

한 클래스에 여러가지 기능들이 옹기종기 모여 있을때

각각의 목적에 맞게 따로 클래스를 분류하여 나눠주는것 

=> "각 객체에 책임을 부여하는 것"

 

예를들어 데이터를 다루는 메서드만 따로 모아서 클래스를 만들고

데이터를 처리하는 클래스만 따로 모아서 클래스를 만들고 하는것이다.

 

디자인 패턴이 왜 중요한가 생각을 해봤을때

나는 아직 전문용어로 정리하긴 힘들것 같고 예를들어 정리를 해보자면

 

디자인 패턴은 레시피인 것 같다.

여러 개발자들이 수십년간 만든 레시피이다.

초보 같은 경우엔 레시피대로 만들지 않으면 그냥 연습용 음식이 될 것이다.

그래서 판매용 음식은 레시피를 꼭 지켜야 한다.