“活”才能激起千层浪
来源:互联网 发布:cms viewer是什么意思 编辑:程序博客网 时间:2024/05/17 22:51
学技术&更学思想
刚进TGB时,师哥师姐说:“在TGB,我们学的是思想”。当时从不在乎!思想怎么学的来,那么抽象!然而今天的赢者,往往就是那些站得高看得远的人。马云用他“免费的思维”赚足了腰包,赢得了世界,造福了中国;美国用“免费的思维”让今天中国十三亿中国人都为它打工,泱泱大国没有自己的操作系统;或许将来“免费的思维”会更可怕,960万平方公里或许都将是它基因种子的沃土。“免费思维”的前景远不止此,但这就是思想的POWER!现在那以往我们学过的知识来考考你,看看你到底学的是技术呢,还是思想呢?
预留字段引发的思考
《善良公社》、《教务基础系统》的在进行数据库设计的时候都在每张表的后面加了几个类型为varchar的预留字段。下面这张图就是在《善良公社》的数据库设计中用到的预留字段(红色部分)
图一:PowerDesigner中的图:
图二:DAL层中的代码:
图三:Entity中的代码:
刚开始不知道为什么数据库设计者要这样做?也曾询问过一两次,说法不一:
利:
①避免设计的时候少字段
②实现代阶段修改字段比添加字段方便(用快捷键修改名称,假设数据类型不用修改)
③持久层的设计,数据库表结构不应轻易变更。因此启用备用字段,只修改代码,不会影响数据库结构,更方便。
④不会影响数据库里已存的一些生产数据(用快捷键修改名称,假设数据类型不用修改)。
弊:
①数据库设置备用字段无法在字段名上体现其意义,不规范,后期维护麻烦。
②启用备用字段,即使有文档说明,在POJO上对应其属性为attribute1,attribute2等,代码的可读性仍旧不强。
③预留字段全部统一使用varchar,也很不太合适。
④预留字段会影响性能(但也有人提出不会影响性能,因为其实预留字段未启用前在数据库里面都是一个null值)。
⑤会影响数据库里已存的一些生产数据,如果要修改数据类型的话。
在做《善良公社》的时候,“预留字段”的名字应该是我第一次听说。在项目开发的过程中没有太多的接触,所以也没有体会到它给项目带来了哪些方便与不便。总之没感觉。不过这次在教务系统的基础系统中,数据库的设计成员又在原数据库的基础上添加了“预留字段”。在小组开会的过程中也没有提出过自己的看法,似乎这几个字已经成为了熟悉的陌生人了。
基础系统第一阶段的验收过程中,MR MI对我们最具特色的设计提出了疑问:“为什么要使用预留字段?在这里有必要使用预留字段吗?”
面对MR MI就我们系统提出的诸多疑问,且看同学们是怎样表现的呢?先不正面回答MR MI的问题,总是拉拉背景,找找历史:“我起初的想法是……;以前师哥他们跟我说……;原来系统的设计思路是……”绕了一个莫大的圈子之后还是不正面回答MR MI的问题!关键你的想法是什么还是没有呈现出来。仔细分析,同学们“拉背景,找历史”的过程无非就是给自己找找没有思考过这个问题的借口,总是拿别人思考的成果来为自己辩解。正如上面所说,数据库设计者使用“预留字段”之初自有他们的考虑,但是对于后来者就未必思考过了!其实别人思考过了并不代表自己思考过啦。缺乏主见是我们的硬伤,懒于思考是我们的软肋,拉背景找历史是我们的套路。如果是在真正思考过预留字段的利弊前提下,在真正需要的前提下使用“预留字段”是完全没有问题的。
基础系统的页面显示引发的思考
对三层架构的学习你了解多少?是否只停留在将一个系统的开发分为三个层次就足以呢?倘若不是,那么三层架构的主题思想是什么?我们采用三层架构的目的又是什么?——解耦?如若你回答了解耦,你是否又指停留在机房收费系统的单纯解耦上。在别的系统中,别的功能中你是否将这个思想运用过。
面对你天天都使用的Windows资源管理器你了解多少,你除了在寻找资源的时候使用过它之外,在别的地方你有想到过使用它吗?如若没有,那么你只是在机械的“拿来”而已,真正的精髓别人已经送给你,可是你把它淘汰了!
图一:基础教务系统的部分原型图:
图二:Windows系统的资源管理器:
面对图一,你是否曾经想过要用三层架构的思想来解决查询结果的多、乱、杂问题?利用隔离的思想将页面的显示与数据库查询出来的数据项隔离,具体的隔离方式可以采用配置文件,如果你有更好的想法也可以采用,总之就是一种缓存机制。将所有的数据库中的信息查询出来放入隔离层中进行保存,而页面的显示内容则需根据用户的真正需要来显示。最终的效果类似百度的搜索,用户只需要检索他所需要的内容即可,而页面也只需要显示他所需要显示的部分即可。
是否想过用图二的思想来设计你的图一呢?图一的设计是愚笨的将所有信息都显示在界面上,不管用户是常用的也好,还是百年也难用上一次的也罢,都会将其显示在界面上。然而图二则做到了全心全意为人民服务的。将常用的显示:名称、修改日期、类型、大小;作者、标记、标题等则隐藏一起,用户可以根据自己的需要随时将其显示出来也是可以的。这样讲界面做得更加人性化,是我们所追求的。
总结:思想之所以美丽,源于它是活的,只有“活”的东西才能激起这个时代的千层浪!
- “活”才能激起千层浪
- 863专家高首席一席话激起千层浪
- 《2004:传统文化思潮激起波澜》 - 《南方周末》
- 音乐,激起我如镜般的心湖。
- 深圳购房——激起中年沉重
- 便携设备:小终端激起大变局
- 目标 激起我们热情的东西
- 由孩子缺钙易激起的病症
- Clouda激起WebApp波澜,大戏刚刚上演
- 睡好才能活好
- 人生学会随缘,才能活得自在
- 人生学会随缘,才能活得自在!
- 人生学会随缘,才能活得自在
- 一颗“黑石”激起混合云涟漪
- 数据中心的停电事件激起了群众的愤慨
- 传感器数据完善 AI 功能,激起机器人“网络效应”
- 传感器数据完善 AI 功能,激起机器人“网络效应”
- 3个方法,教你激起用户的渴望
- UIColor和UIImage转换
- html 5 学习笔记-重要知识点 1
- 中断服务程序
- 14款让前端开发者心动的jQuery/CSS3插件及源码
- TextFormat设置中文字体font属性注意的问题
- “活”才能激起千层浪
- Nginx安装及配置简介
- 文档结构视图(4)
- ORACLE PL/SQL编程之六: 把过程与函数说透
- 请求转发,与重定向
- 怎样禁止“Windows - 没有软盘”的提示?
- MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction
- android加快编译速度
- 15款最好的 jQuery Modal(模态窗口)插件