我阅读了以下关于Microsoft .Net: Architecting Applications for the Enterprise的建筑,Dino Esposito和Andrea Saltarello的建筑:
每当你采用声明式方法编码而不是 必要的方法,你将一些责任委托给某些人 其他代码层 - 您无法完全控制的层。所以你是 最终希望中间工具能够理解你 正确的,并不会遇到任何自己的麻烦。在 软件开发,委托给第三方进行开发 更快,但你应该保证用户得到你想要的 他们来。
这并不意味着您不应该信任Visual Studio 2008或 类似的基于向导的产品。这一点完全是另一回事。 在一个大型系统中,可能由几个团队开发,经典 声明性编程只是不起作用。你需要拥有你的 演示一层代码,决定要显示什么,在哪里 读取设置以及如何应用它们。声明式编程仍然存在 一个很好的选择,但只有你编写引擎和向导。
有人可以用简单的语言向我解释究竟什么是声明性和命令式编程?
答案 0 :(得分:7)
声明 - 我将描述我想要你做什么,你弄明白了(SQL,XSLT)。
势在必行 - 我会告诉你完全做什么,一步一步(C#,Java)。
答案 1 :(得分:7)
实施例
声明性编程:
<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();
答案 2 :(得分:2)
声明性编程 - 应该做什么
命令式编程 - 你应该怎么做。
声明性编程要求开发人员说明要做什么。命令式编程要求开发人员逐步定义代码的执行方式。
示例:C#中的LINQ是声明性的。
请阅读此处了解更多信息:http://www.informit.com/articles/article.aspx?p=1330154&seqNum=4