龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

学习.NET架构设计系列:Hello world的时代(3)

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
结构化编程是一种面向过程的编程方式。所谓“面向过程编程”是译自“Procedure-oriented programming”,实际上应该理解成“以过程为导向的编程方式”。按照

结构化编程是一种面向过程的编程方式。所谓“面向过程编程”是译自“Procedure-oriented programming”,实际上应该理解成“以过程为导向的编程方式”。按照这样的编程方式,人们首先要确定用什么样的流程来实现业务需求,接着就一步步的分解这个流程,分解,再分解……直到可以用一个语句实现,最后就用程序实现这样的流程。下面的流程就实现了这样一个小测验:测试计算11到20的平方,每算对一个数可以得到10分,最后输出总分。

面向过程的编程方式必须在编程之前将解决问题的流程确定下来,这是一种很不灵活的方式。我们解决一个问题的时候,是很难在一开始就把流程定的很合理的。比如说,我们开发一个Email服务器,用户最初要求有这样的功能:收到邮件的时候判断一下是不是垃圾邮件,如果是垃圾邮件,就直接移到垃圾邮件夹里。后来我们在开发的过程中发现,垃圾邮件的识别率并不是很高,难免会把一些正常邮件当作垃圾邮件移走了,造成用户的邮件不能及时收到。于是这个流程必须调整成这样:发现垃圾邮件不能移走,而是在标题上加上一个警告标记。并且这个流程的改变会影响其他的流程:使用POP客户端下载邮件的时候,对垃圾邮件只能下载标题和纯文本的内容,确保客户端的安全。可以看出,业务流程的制定需要在随后的开发过程中不断得到反馈,不断进行调整,最后才能达到一个比较好的效果。但是按照面向过程的编程方式,我们必须先确定一个流程,再开始设计,否则需求就不确定。如果在编程的过程中发现流程不合适,在效率或者准确性上不满足需要,程序就要重新设计了。这样边写边改,又要顾忌对其他流程的影响,程序写起来是很困难的。

后来又发展出来另外一种编程方式:面向对象的编程。面向对象的编程是译自“Object-oriented programming”,简称OOP,其实上也应该理解成“以对象为导向的编程方式”。用这样的编程方式,先不要急于确定用什么样的流程来实现业务需求,而是先看看需求里面包含有哪些“东西”,这些东西是怎样出现的,具有什么样的属性,可以做哪些事情,会发生什么样的事件,这些东西之间是什么样的关系。用程序把这些东西造出来,然后就让这些东西运行起来,实现预想的功能。


精彩图集

赞助商链接