Архив метки: парадигмы программирования

Лекция 12. Языки программирования. Метапрограммирование

Одним из ключевых аспектов конструирования программного обеспечения является использование определенного языка (или языков) программирования, с помощью которых описывается цель программы и, при условии императивного подхода, способ ее достижения. В лекции рассматриваются языки программирования и функции, которые они выполняют в разработке. Также уделено внимание метапрограммированию (другое название: порождающее программирование) — парадигме, в которой языки программирования играют ключевую роль.

Презентация: Лекция 12.

Читать далее Лекция 12. Языки программирования. Метапрограммирование

Лекция 11. Парадигмы программирования (часть 2)

При разработке сложных систем с использованием парадигмы объектно-ориентированного программирования возникает несколько проблем:

  • Поскольку классы в ООП соответствуют отдельным понятиям предметной области, различные классы тесно связаны друг с другом. Это затрудняет модификацию системы для повторного использования в других условиях.
  • Сильная связь между классами также препятствует выделению независимых или хотя бы слабо связанных между собой модулей. Модули упрощают не только повторное использование кода, но и его тестирование и сопровождение.
  • Связанность отдельных классов системы нарушает базовое правило программирования — принцип разделения ответственности (separation of concerns). Это приводит к дублированию кода и возможным плохо отслеживаемым ошибкам.

Эти проблемы решаются за счет использования парадигм программирования, расширяющих ООП:

  • компонентно-ориентированное программирование;
  • аспектное программирование;
  • сервисное программирование.

Презентация: Лекция 11.

Читать далее Лекция 11. Парадигмы программирования (часть 2)

Лекция 10. Парадигмы программирования (часть 1)

Парадигма программирования определяет общий стиль написания программ. Она указывает, как выделяются отдельные элементы программы, что они собой представляют, каким образом между собой взаимодействуют, и так далее. По своей роли в проектировании и конструировании парадигма играет примерно ту же роль, что модель жизненного цикла в планировании процессов разработки программного обеспечения. Выбор парадигмы программирования определяется архитектурой программной системы.

Презентация: Лекция 10.

Читать далее Лекция 10. Парадигмы программирования (часть 1)