首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 系统运维 >

考试系统3.0(1)之“软件之软“

2013-10-08 
考试系统3.0(一)之“软件之软““硬”件“软”件不知道大家考虑过这个问题没有?硬件为什么叫“硬”件?我觉得,硬件

考试系统3.0(一)之“软件之软“
“硬”件“软”件    

    不知道大家考虑过这个问题没有?硬件为什么叫“硬”件?我觉得,硬件之所以称之为硬件,是因为它一旦塑造完成,除非回炉溶解,否则很难改变。很显然,软件与之对应,但是一直没弄明白为什么称之为“软”件,直到大致完成对考试系统3.0的设想。

    很明显这个“软”字,说的不是物理上的“软”,而是另外一种软:灵活,它可以一直完善、进化从而适应。

封装复用

    从学编程开始,我们想的就是如何复用。

    从汇编开始,我们就把mov、add命令等抽象出来,进而复用;同样,在面向过程编程阶段,我们把函数作为单位复用;在面向对象阶段,我们将类作为单位进而进行复用;再到WebService和dll,复用的单位越来越大。

    复用的粒度再大点就是一套解决方案,也就是设计模式,它把解决问题的思想抽象出来得以复用。

    然后,我们需要想想,我们为什么要复用?

    封装的基础是职责分明、互相解耦,进而才能封装成一个独立的单位。在我看来,封装的目的就是复用,而复用为灵活提供了一张可能,这种复用式的“软”体现在:可以将A、B、C三个组件,按照需求搭配成AB、AC、BC……。我们要做的就是提供这种任意搭配的可能,并提供搭配的规则,这需要我们进行足够多的抽象和封装,并提供可配置接口。

考试系统3.0

    结合到当前系统,如何让考试系统更灵活?把近日所想分享给大家,如有错误,欢迎斧正。

    界面元素灵活

    来看一个咱们都见过的界面:    

    考试系统3.0(1)之“软件之软“

    我们来猜一下,谷歌会不会为了修改按钮这个界面,比如将“手气不错”修改为“再来一瓶”或将Google图标改为中秋节的月亮图片时,会去修改代码?恭喜你答对了,不会。但问题是,如何才能避免修改代码?如下所示:

    布局代码如下:


    404错误在WEB开发中很常见,当然除此之外还有401、403、500……,同样可以确定的是,每一组数字对应一种错误类型和错误描述。

    按照以前的编程习惯,如果404错误是我写,我会写成这样:

    这是一个题型生成的原型,根据对界面的拖拖拽拽,自动生成C#源代码,并编译成dll存放到指定位置,再将信息添加到数据库中,从而达到新题型一键生成并配置的目的。

总结

    对软件灵活的改进是无止境的,就像一种永不止步地接近完美,如果能把软件做成活字印刷术般灵活,那就是一种境界了,当然现实是骨干的,要充分考虑需求。

1楼xjc1278003262昨天 21:37
顶啦!楼主

热点排行