“活”才能激起千层浪

来源:互联网 发布:cms viewer是什么意思 编辑:程序博客网 时间:2024/05/17 22:51

 

学技术&更学思想


刚进TGB时,师哥师姐说:“在TGB,我们学的是思想”。当时从不在乎!思想怎么学的来,那么抽象!然而今天的赢者,往往就是那些站得高看得远的人。马云用他“免费的思维”赚足了腰包,赢得了世界,造福了中国;美国用“免费的思维”让今天中国十三亿中国人都为它打工,泱泱大国没有自己的操作系统;或许将来“免费的思维”会更可怕,960万平方公里或许都将是它基因种子的沃土。“免费思维”的前景远不止此,但这就是思想的POWER现在那以往我们学过的知识来考考你,看看你到底学的是技术呢,还是思想呢?

 

 

预留字段引发的思考


《善良公社》、《教务基础系统》的在进行数据库设计的时候都在每张表的后面加了几个类型为varchar的预留字段。下面这张图就是在《善良公社》的数据库设计中用到的预留字段(红色部分)

图一:PowerDesigner中的图:



图二:DAL层中的代码:



图三:Entity中的代码:



刚开始不知道为什么数据库设计者要这样做?也曾询问过一两次,说法不一:

利:

①避免设计的时候少字段

②实现代阶段修改字段比添加字段方便(用快捷键修改名称,假设数据类型不用修改)

③持久层的设计,数据库表结构不应轻易变更。因此启用备用字段,只修改代码,不会影响数据库结构,更方便。

④不会影响数据库里已存的一些生产数据(用快捷键修改名称,假设数据类型不用修改)

:

①数据库设置备用字段无法在字段名上体现其意义,不规范,后期维护麻烦。

②启用备用字段,即使有文档说明,在POJO上对应其属性为attribute1attribute2等,代码的可读性仍旧不强。

③预留字段全部统一使用varchar,也很不太合适。

④预留字段会影响性能(但也有人提出不会影响性能,因为其实预留字段未启用前在数据库里面都是一个null值)。

⑤会影响数据库里已存的一些生产数据,如果要修改数据类型的话。

在做《善良公社》的时候,“预留字段”的名字应该是我第一次听说。在项目开发的过程中没有太多的接触,所以也没有体会到它给项目带来了哪些方便与不便。总之没感觉。不过这次在教务系统的基础系统中,数据库的设计成员又在原数据库的基础上添加了“预留字段”。在小组开会的过程中也没有提出过自己的看法,似乎这几个字已经成为了熟悉的陌生人了。

基础系统第一阶段的验收过程中,MR MI对我们最具特色的设计提出了疑问:“为什么要使用预留字段?在这里有必要使用预留字段吗?”

面对MR MI就我们系统提出的诸多疑问,且看同学们是怎样表现的呢?先不正面回答MR MI的问题,总是拉拉背景,找找历史:“我起初的想法是……;以前师哥他们跟我说……;原来系统的设计思路是……”绕了一个莫大的圈子之后还是不正面回答MR MI的问题!关键你的想法是什么还是没有呈现出来。仔细分析,同学们“拉背景,找历史”的过程无非就是给自己找找没有思考过这个问题的借口,总是拿别人思考的成果来为自己辩解。正如上面所说,数据库设计者使用“预留字段”之初自有他们的考虑,但是对于后来者就未必思考过了!其实别人思考过了并不代表自己思考过啦。缺乏主见是我们的硬伤,懒于思考是我们的软肋,拉背景找历史是我们的套路。如果是在真正思考过预留字段的利弊前提下,在真正需要的前提下使用“预留字段”是完全没有问题的。

基础系统的页面显示引发的思考


对三层架构的学习你了解多少?是否只停留在将一个系统的开发分为三个层次就足以呢?倘若不是,那么三层架构的主题思想是什么?我们采用三层架构的目的又是什么?——解耦?如若你回答了解耦,你是否又指停留在机房收费系统的单纯解耦上。在别的系统中,别的功能中你是否将这个思想运用过。


面对你天天都使用的Windows资源管理器你了解多少,你除了在寻找资源的时候使用过它之外,在别的地方你有想到过使用它吗?如若没有,那么你只是在机械的“拿来”而已,真正的精髓别人已经送给你,可是你把它淘汰了!

图一:基础教务系统的部分原型图:



图二:Windows系统的资源管理器:



面对图一,你是否曾经想过要用三层架构的思想来解决查询结果的多、乱、杂问题?利用隔离的思想将页面的显示与数据库查询出来的数据项隔离,具体的隔离方式可以采用配置文件,如果你有更好的想法也可以采用,总之就是一种缓存机制。将所有的数据库中的信息查询出来放入隔离层中进行保存,而页面的显示内容则需根据用户的真正需要来显示。最终的效果类似百度的搜索,用户只需要检索他所需要的内容即可,而页面也只需要显示他所需要显示的部分即可。


是否想过用图二的思想来设计你的图一呢?图一的设计是愚笨的将所有信息都显示在界面上,不管用户是常用的也好,还是百年也难用上一次的也罢,都会将其显示在界面上。然而图二则做到了全心全意为人民服务的。将常用的显示:名称、修改日期、类型、大小;作者、标记、标题等则隐藏一起,用户可以根据自己的需要随时将其显示出来也是可以的。这样讲界面做得更加人性化,是我们所追求的。

 

总结:思想之所以美丽,源于它是活的,只有“活”的东西才能激起这个时代的千层浪!

 



4 0
原创粉丝点击