Парадигмы программирования. Часть 2
Объектно-ориентированное программирование
Программа написана как набор классов и объектов, предназначенных для взаимодействия. Самая маленькая и базовая сущность - это объект, и все виды вычислений выполняются только над объектами. Больше внимания уделяется данным, а не процедуре. ООП может справиться практически со всеми видами реальных жизненных проблем, которые существуют сегодня в скриптах.
• Компонентно-ориентированное программирование
Стиль объектно-ориентированного программирования, в основе которого лежит правило DRY — Don’t Repeat Yourself (с англ. — не повторяйся). Повторения в коде малоэффективны и затратны по времени. Чем меньше повторений, тем быстрее идет разработка приложения. Учитывая дедлайны, которые зачастую ставят заказчики, скорость разработчики является чуть ли не одной из главных метрик. Если вы знаете какой-либо front-end фреймворк, например React, Angular или Vue, то вам должно быть знакомо, как выглядит компонентно-ориентированная архитектура.
• Прототипно-ориентированное программирование
Это стиль объектно-ориентированного программирования, в котором классы не определяются явно, а являются производными путем добавления свойств и методов к экземпляру другого класса или, что реже, добавления их к пустому объекту.
Проще говоря: этот тип стиля позволяет создавать объект без предварительного определения его класса.
• Агентно-ориентированное программирование
Первой реализацией формализма агентов был язык агентно-ориентированного программирования AgentO. В этом языке агент описывается в терминах набора способностей (то, что может сделать агент), набора начальных обязательств и набора правил обязательств. Ключевым компонентом, который определяет, как агент действует, является набор правил, соответствующих обязательствам.