更精彩的内容去这里看看http://www.dotnetzone.org/aspdotnet/075/587.html
让我们来想像一下你的月薪从1,000RMB到>30,000RMB的过程。
一个静态网页就似WORD文档,CSS就象是WORD文档的模板。如果你恰好做这些事,那么你的职位叫网面设计师,月薪1,000,这时你年少无知;
如果你开始知道如何用程序自动生成一个页面时,此时你的编程思想是围绕着某个具体网页展开的,恰如五六十年代的面对过程时代。那么你的月薪将可能有2,000,叫程序员,这时你初出毛庐;
你做了许多重复的事,发现许多页面需要一些公共功能,比如网站往往需要一个公共的CONN文件来创建数据库连接对象时,程序员自然会将这个创建过程封装成函数来重复调用,这时的编程思想是围绕着公共功能展开的,正如七八十年代的结构化编程,已经开始对功能的进行抽象。风华正茂的你开始被人叫成软件工程师了,月薪3500;
当你又发现一个网站中其实都是由公共的内容组成的,比如登录框,它往往有固定的数据(用户名/密码)、固定的外观(用户名和密码输入框 / 提交按钮)、固定的动作(审核 / 登录成功 / 登录失败),从结构化角度来看,完成登录框需要定义若干个变量和若干个函数,但我们进一步抽象,把对话框看成一个整体,它用数据来表示自己的特征(不同用户名和密码的组合),用方法来表示自己所能处理的事件,封装起来,即成为对象。可用如下结构来表示:
class 登录{用户名;密码;审核;登录成功;登录失败;输入界面;}
再用对象的眼光来观察网站,那么就会发现小到输入框,大到页面,都是对象,从整个网站中抽象出最基本的内容(不可再分、缺一不可)设计成对象,然后就是简单地组合。这时的编程思想是面对整个网站,其实这就是八九十年代风行一时的OO思想;这时你可能已经有了名片,上面印着高级软件工程师几字,月薪5000RMB,不过你早上梳头时,会发现自已的眼角已有了皱纹;
当一个企业需要把互联网溶入到它的机体时,它必须把现有的桌面程序和WEB程序看成一个整体,两者需要公共的组件,如这时的登录请求不仅可能是WEB程序,还可能是桌面程序,也就是说需要统一的使用授权组件来处理这类事物,那么这时的编程思想是面对组件;这时你的头衔已改成架构师,月薪>10000,不过镜子里的脑袋上出现若干白发;
一切看起来已经好象很完美了,不!正如我们对月薪的追求永无止境一样,企业所想的不仅仅是让用户们简单地浏览它们网页这么简单。他的关联客户又对你的系统提出新要求,如希望用他们的JAVA系统直接完成转账过程,可我的系统是用ASP.NET系统架构出来的!另外,你可不能让别人轻松划走2^N RMB。成千上万家的关联客户让你的编程思想开始面对公共服务。对方可不认识你的这对象那组件,就他而言,转账是一件事,只要在他的桌面程序中用他那粗短的手指输入用户名和密码后,其它就是你系统的事。如果你能熟练地用WEB Service 完成这些事情,那么恭喜你,薪水就你而言,只是一个数字而往往不具有实际意义,当然,你现在已很难用自身的魅力来吸引清纯少女了,用十八岁女孩的话说,你已经是老男人了,虽然你才三十出头。