В учебном пособии рассматриваются существующие принципы разработки
программных продуктов, такие как SOLШ, IOSS, DRY, YAGNI и чистав
архитектура, общие паттерны распределения обязанностей (GRASP), а также
порождающие, структурные и поведенческие пагrерны проектироваюm GoF.
Приводятся сильные и слабые стороны существующих методологий разработки
программного обеспечения.