В чем разница между декларативным и императивным программированием?

Я прочитал следующие абзацы об архитектуре из Microsoft .Net: Архитектура приложений для предприятия Дино Эспозито и Андреа Сальтарелло:

Каждый раз, когда вы применяете декларативный подход к кодированию, а не {{1} } императивный подход, вы делегируете некоторые обязанности какому-то другому слою кода - слою, который вы не контролируете полностью. Таким образом, вы в конечном итоге надеетесь, что промежуточный инструмент правильно поймет вас и не столкнется с какими-либо проблемами на своем пути. При разработке программного обеспечения делегирование третьей стороне ускоряет разработку , но вы должны гарантировать, что пользователи получат именно то, что вы от них .

Это не означает, что вы не должны доверять Visual Studio 2008 или аналогичным продуктам на основе мастеров. Дело в другом. В большой системе, которая, вероятно, разрабатывается несколькими командами, классическое декларативное программирование просто не работает. В вашей презентации должен быть слой кода, который решает, что отображать, где читать настройки и как их применять. Декларативное программирование по-прежнему отличный вариант, но только если вы напишете движок и мастеров.

Может ли кто-нибудь объяснить мне простыми словами, что такое декларативное и императивное программирование?

5
задан Rob Kennedy 19 November 2011 в 21:30
поделиться