Уровень 0 · материалов: 4
В кластер входят документы, описывающие конкретные правила и метрики распределения ответственности между объектами в ООП, и не входят документы по другим аспектам разработки программного обеспечения.
Общие признаки: объектно-ориентированное проектирование, назначение ответственности классам, связность и зацепление (coupling and cohesion), методологии разработки ПО
Группа выше: ООП: концепции и принципы
Смысл: The main idea is to introduce GRASP as a set of general principles for responsibility assignment in OO design, emphasizing that these are guidelines for creating low-coupling and high-cohesion systems rather than specific structural templates.
An educational guide explaining GRASP design patterns and their application in object-oriented software architecture using a shipping company example.
Смысл: The main idea is that the Single Responsibility Principle should not be applied based on vague intuition or subjective interpretations of 'reasons to change,' but should instead be understood through the lens of 'actors' and measured using formal software engineering metrics like coupling and cohesion.
The author argues that the Single Responsibility Principle is often misunderstood and proposes moving from subjective interpretations to a formal, mathematical analysis of coupling and cohesion to determine if a module should be split.
Смысл: The main idea is that in OOP, methods representing interactions between multiple objects should be assigned to the 'actor' or the entity initiating the action (Actor.Method(Target)). This provides a consistent architectural rule to resolve disputes over method placement and ensures system extensibility.
To resolve OOP disputes over method ownership, the author proposes that methods should always belong to the entity performing the action.
Смысл: The text introduces 'GOD'S code', a mnemonic for combining four major object-oriented design methodologies to produce maintainable, readable, and professional-grade software. It serves as a practical guide to reducing code review failures by applying disciplined constraints to class responsibilities and structure.
The author proposes 'GOD'S code'—a synthesis of GRASP, Object Calisthenics, Demeter's Law, and SOLID—as a comprehensive strategy for writing maintainable and professional software.