GRASP (Patrones de software de asignación de responsabilidad general)

GRASP (Patrones de software de asignación de responsabilidad general) es un patrón de diseño en el desarrollo de software orientado a objetos utilizado para asignar responsabilidades para diferentes módulos de código.

Como herramienta para desarrolladores de software, GRASP proporciona un medio para resolver problemas organizacionales y ofrece una forma común de hablar sobre conceptos abstractos. El patrón de diseño establece responsabilidades para objetos y clases en orientado a objetos diseño de programa.

GRASP con programación orientada a objetos clasifica los problemas y sus soluciones juntos como patrones. Con estos problemas y soluciones bien definidos, se pueden aplicar en otros casos similares. GRASP asigna siete tipos de roles a clases y objetos para hacer una clara delimitación de responsabilidades. Estos roles son:

  • Reguladora
  • Experto en información
  • Creador
  • Alta cohesión
  • Acoplamiento bajo
  • Polimorfismo
  • Clases protegidas

GRASP se combina ocasionalmente con otros patrones de diseño como SOLID. Esta combinación lo convierte en el convincente apodo de SOLID GRASP. Patrones de diseño como estos ayudan a mantener el código más simple, más organizado, más comprensible, analizable y reutilizable.