Разделение ответственности (Jg[;ylyuny kmfymvmfyuukvmn)
Возможно, эта статья содержит оригинальное исследование. |
Разделение ответственностей (англ. separation of concerns)[1] — один из основополагающих принципов инженерного дела. В частности — программной инженерии.
В информатике разделение ответственностей представляет собой процесс разделения компьютерной программы на функциональные блоки, как можно меньше перекрывающие функции друг друга. В более общем случае, разделение ответственностей — это упрощение единого процесса решения задачи путём разделения на взаимодействующие процессы по решению подзадач.
Разделение ответственностей позволяет снизить системную сложность, повысить надёжность и адаптивность (гибкость) программ, обеспечить возможность их повторного использования.
Любая парадигма программирования заключается в разделении ответственностей. В случае процедурного программирования — между процедурами и функциями, ООП — между объектами, Аспектно-ориентированное программирование добавляет к этому списку аспекты.
Шаблоны проектирования, такие как MVC, обеспечивают Разделение представления и содержания.
Сервис-ориентированная архитектура (SOA) предполагает разделение ответственности между сервисами.
Происхождение
[править | править код]Термин Separation of Concerns был впервые предложен Эдсгером Дейкстрой в 1974 году в статье «On the role of scientific thought»[2] для описания процесса научного мышления. В современном значении этот термин был использован в 1989 году Крисом Ридом в его книге «Элементы функционального программирования»[3].
Примечания
[править | править код]- ↑ Этот термин также можно перевести и как «разделение сфер влияния». Слово англ. concern в юриспруденции означает «долю» или пай
- ↑ E.W.Dijkstra, On the role of scientific thought (EWD447) . Дата обращения: 19 июня 2011. Архивировано 7 июня 2011 года.
- ↑ Chris Reade. Elements of Functional Programming. — Addison-Wesley, April 1989. — 600 p. — ISBN 978-0201129151.
Ссылки
[править | править код]- Леонид Черняк. Загадка SOA «Открытые системы» 28/09/2007 № 07
Это заготовка статьи по информатике. Помогите Википедии, дополнив её. |
Для улучшения этой статьи желательно:
|