说面向对象编程思想是软件工程里的一大革命一点也不为过,它给软件工业带来的变化是巨大的。

我不想说面向对象编程的概念——因为至今,我想我也未能将它全部参透:因为面向对象编程思想的精髓太精深了,我不得不再一次将去年就想写的几段文字在这里述写一遍,以加深从这一方面加深对面向对象编程的理解。

我们知道,面向对象编程里面几个十分重要的概念是抽象、类型(结构、类等)、封装、接口、继承等等——索性抛开这些概念不说了,个人认为,需要真正理解面向对象的精神,最重要的是明白“对象”这个“对象”!我们应该把对象编程与现实世界联系起来。人-现代人-亚洲人-中国人-华北人  这就是一个典型的抽象与继承关系。

另外一个精神是,模块化设计思想。模块化设计的应用早于面向对象编程思想的应用——在这里,我却先说面向对象编程思想。原因是,个人认为,模块化设计思想真正被发扬光大还是在面向对象编程真正被人们接受之后的事情。模块化设计体现出一种低耦合、高内聚的思想,而且,类的概念更让模块化发挥到极致——一个类模块,就是一个完整的对象!

再谈到分页控件。第一次接触 AspNetPager 的时候,是一个很自然的懒念头导致的:我以前做 vb 6.0 开发的时候,离不开控件的帮助;到我使用 vb.net 的做 winform 工程的时候依然如此。有一天,我转到了 asp.net 开发上,我发现界面是我需要面对的第一个问题。此时,我需要分页,因此我想到了分页控件。有一位陕西的朋友,他很仁慈地做出了这样一个控件。我立刻从他的站点上下载了这个控件,开始着手研究它的使用方法了。

我发现一个问题,那就是,我当时需要分页的是具有不规则 html 标签的文字,而他的示例工程里给的例子大多是一张图片做一页,要不是100个字做一页……虽然我需要也是给文字分页,但由于html标签的不确定性,使我当时不知道如何来使用这个分页控件了。然后就给开发控件的作者留了一条言,向他求助。

他的回复“一语惊醒梦中人”:“分页控件仅负责分页,至于你分的是什么,则你自己决定。”是的,事实是,我给控件赋予了总数目以及每页显示的数目,它就会自己产生页码!而且,如果我不在控件的“页码变换”事件中添加任何代码,我可以观察到,它的页码会根据用户的点击来切换,而页面内容是不变的。这充分说明了这位仁兄的话。是的,我完全可以在分页事件中添加与分页毫不相干的事。

这便是模块化!我与你是不相干的,你给我相关参数,我做好你指定的任务,这就够了。这足以让我们理解如何开发一个大型的体系,足以指导我们如何去架构一个庞大的工程,足以指导我们如何去组织解决方面里的项目,更足以指导我们如何去创建我们所需要的函数!我期待与亲爱的读者您获得共鸣!如果您能理解我此刻的心情,我想你的架构能力已经超越于我,哈哈,祝贺你!