很多学生问我,以前都用C语言和Pascal这类面向过程的语言开发应用程序,现在为什么都用Java和C#这些面向对象的语言开发应用程序。
我们现在开发很多应用程序,为什么要用分层开发的结构。
好。我们来把这些问题讲清楚。以前用C语言和Pascal开发应用程序,是因为以前的应用程序都比较小,现在用Java和C#来开发应用程序,是因为现在程序的规模一般都比较大。比如在二十年前,我们的DOS操作系统用一张软盘就可以装下(1M-2M之间)。而现在的Windows操作系统可能要一张DVD才能装下(2G左右)。那么操作系统的大小都大了1000多倍,应用程序也是如此。你想想,程序的规模要大多少,现在的Windows操作系统已经有上亿行代码。如果不重用代码,怎么开发的出来。因为面向对象技术能很好的支持重用性,所以就能更快的进行应用程序开发。有人测试过用VB开发一万行以上的代码就无法编写和维护了。而且VB还是一种基于对象的语言,更不用说C和Pascal这类面向过程的语言了。所以现在使用Java和C#来开发应用程序是因为现在程序的规模比较大,需要重用。因为重用,所以就需要使用面向对象的语言开发。如果不重用,就很难开发出来。
同样的道理,什么情况要使用分层结构开发?只有大型或大中型软件才会使用分层结构开发。为什么大型软件要分层开发呢?因为要重用,如果不重用,就很难开发出来。所以三层结构实际上是在支持重用性,大家学了三层结构以后应该很容易能明白这一点。在三层结构中,我们分为表示层(显示数据)、业务逻辑层(加工数据)和数据访问层(访问数据)。如果我们有一个登录功能要实现,你想想如果你是用三层结构开发的,那么在网页中实现登录和在窗体中实现登录,它们仅仅只有表示层不同,一个是在窗体上显示,一个是在网页上显示。业务逻辑层和数据访问层可以不需要修改一行代码,就可以非常容易的将一个Windows应用程序移植为一个Web应用程序。
同样的道理,我要求我的学生在开发网页的时候大量使用样式表,不要再使用HTML的格式标记和带有格式的属性了,为什么呢?重用。
HTML是用来控制内容的,而CSS是用来控制格式的。如果只使用HTML来显示网页,无法重用。那为什么又要重用呢?现在不重用无法进行Web应用程序开发了。以前一个网站十几个网页或者几十个网页。现在的网站动辄几百个甚至上千个网页,你想想,如果不重用,怎么开发的出来。
如果把HTML看成是一个模特,那么CSS就是模特的衣服了。一个模特可以穿不同的衣服,同样一件衣服也可以给不同的模特来穿。那么一个HTML页面就可以应用多个不同的CSS样式表文件,一个样式表文件也可以应用到不同的网页中,最终实现重用性。