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

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

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

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

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

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

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

Происхождение

Термин Separation of Concerns был впервые предложен Эдсгером Дейкстрой в 1974 году в статье «On the role of scientific thought» для описания процесса научного мышления. В современном значении этот термин был использован в 1989 году Крисом Ридом в его книге «Элементы функционального программирования» .

Примечания

  1. Этот термин также можно перевести и как «разделение сфер влияния». Слово англ. concern в юриспруденции означает «долю» или пай
  2. . Дата обращения: 19 июня 2011. 7 июня 2011 года.
  3. Chris Reade. . — Addison-Wesley , April 1989. — 600 p. — ISBN 978-0201129151 .

Ссылки

  • «Открытые системы» 28/09/2007 № 07
Источник —

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