В учебном пособии рассматриваются существующие принципы разработки программных продуктов, такие как SOLID, а также порождающие, структурные и поведенческие паттерны проектирования GoF. Приводятся сильные и слабые стороны существующих методологий разработки программного обеспечения. Учебное пособие соответствует актуальным требованиям федерального государственного образовательного стандарта высшего образования. Учебное пособие адресовано студентам высших учебных заведений, обучающимся по направлениям 09.03.01 «Информатика и вычислительная техника» и 09.03.04 «Программная инженерия».