声明式编程和命令式编程的区别是什么?

本文关键字:区别 是什么 编程 命令式 声明式编程 | 更新日期: 2023-09-27 18:15:08

我在Microsoft .Net: architting Applications for the Enterprise中阅读了以下关于架构的段落,作者:Dino Esposito和Andrea Saltarello:

当您采用声明式方法而不是命令式方法,就是将一些职责委托给一些人另一层代码——你不能完全控制的一层。所以你最终希望中级工具能够理解您正确的,不会遇到任何麻烦自己的道路上。在软件开发,委托给第三方进行开发更快,但你应该保证用户得到你想要的。

这并不意味着你不应该信任Visual Studio 2008或类似的基于向导的产品。重点完全是另一回事。在大型系统中,可能由几个团队开发,这是经典的声明式编程根本行不通。你需要有表示:决定在哪里显示什么内容的代码层读取设置,以及如何应用它们。声明式编程仍然是这是一个很好的选择,但前提是你要编写引擎和向导。

谁能简单地给我解释一下声明式编程和命令式编程到底是什么?

声明式编程和命令式编程的区别是什么?

声明性-我将描述我想让您做什么,您自己弄清楚(SQL, XSLT)。

命令式——我会准确地告诉你该怎么做,一步一步来(c#, Java)。

示例。

声明性编程:

<asp:DropDownList runat="server" DataSourceID="ObjectDataSource1" />
<asp:ObjectDataSource runat="server" ID="ObjectDataSource1" ItemUpdating="..." />

命令式编程:

ObjectDataSource source = new ObjectDataSource();
source.ItemUpdating += ...;
DropDownList list = new DropDownList();
list.ID = "";
list.DataSource = source;
list.DataBind();

声明式编程-应该做什么

命令式编程-如何完成你想要的。

声明式编程要求开发人员说明要做什么。命令式编程要求开发人员一步一步地定义代码应该如何执行。

示例:c#中的LINQ是声明式的。

阅读此处获取更多信息:http://www.informit.com/articles/article.aspx?p=1330154&seqNum=4