Разделение ответственности

Разделение ответственностей (англ. separation of concerns) — один из основополагающих принципов инженерного дела. В частности — программной инженерии.

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

Разделение ответственностей позволяет снизить системную сложность, повысить надёжность и адаптивность (гибкость) программ, обеспечить возможность их повторного использования.

Любая парадигма программирования заключается в разделении ответственностей. В случае процедурного программирования — между процедурами и функциями, ООП — между объектами, Аспектно-ориентированное программирование добавляет к этому списку аспекты.

Шаблоны проектирования, такие как MVC, обеспечивают Разделение представления и содержания.

Сервис-ориентированная архитектура (SOA) предполагает разделение ответственности между сервисами.

Источник: Википедия

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я