zoukankan      html  css  js  c++  java
  • VB.NET机房收费系统总结

        总感觉这次机房收费系统非常有份量,一直没有下手总结,从2014-7-272014-9-29。这中间有太多故事和成长。首先说一下两次机房收费系统的不同,它是我们从面向过程向面向对象的一个转变。在.NET平台下开发,採用三层思想,并加入了一些设计模式。然后说一下我的变化,无论从思想还是技术上绝对是一笔財富。经过这次机房收费系统。我更加坚信两句话:“出来混迟早都要还的”“一切都会过去的”。

            这次个人重构:7.27-8.11(绘图阶段,当中包含数据设计2天);8.12-9.14(代码实现,中间有一周准备番茄模板课件);9.15-9.20(文档,改动图);9.21师哥验收;9.23-9.28(改动问题。事实上9月份做的工作非常少)。由于这是我们C/S的一个比較完整的项目,应该按着开发的流程来,到如今总结时有一种感触,个人重构是对整个C/S学习的综合或查漏补缺,把前面软件project、UML.NET、三层和设计模式的东西都融合在一起。

           首先在绘图阶段,这是必须的,有将这部分工作放在结尾的,那是由于我们做过了一次。基本功能了解的也几乎相同了,这次绘图了解了EA的简单操作,我主要画了4种,包图:整个系统的模块的划分,每一个包里面相应类。用例图,然后每一个用例以下相应的时序图。当中我感觉类图最困难了。方法的传递不知道參数和返回值是什么,假设类图都画好的话。时序图那里就能够直接拖动。

    在这块欠缺的是对面向对象抽象的不好。非常多类的方法还能够再抽象的(比方非常多功能都用到推断卡号是否存在,这时就能够单独建立一个方法,而不是在每一个类中都建立该方法),还有就是对包图中接口、工厂和D层之间关系有些模糊,后来走代码时才有一些理解。

           数据库设计考虑到三范式原则。最大的变化就是实现卡和学生信息的分离(数据库设计:http://blog.csdn.net/u010097777/article/details/38796793)。还有就是这次表中的字段都是自己设计时考虑到什么时候会用到(比方充值和退卡中的状态字段),在第一次机房中使用人家的数据库。有些字段都不知道做什么用的。还有感触最深的就是数据类型的转换,这也是后面非常让人无语的一件事情,尤其是时间类型转换,还有就是char(固定长度)和varchar(可变长度)在推断用户权限时可让我花了不少时间调试呢。

            代码实现:搭建七层环境非常重要,在学习三层时我没有加上抽象工厂+反射+配置文件,这次可让我费劲了,看了不少的博客,一周时间才拿下来,都是第一次接触,理解的也太好,開始不知道从那一层開始敲,请教之后知道了先是接口层、工厂层、然后是D层、B层和U层。真的自己敲一条线后看一下代码怎样走的就会明确非常多。这次重构用到了视图(http://blog.csdn.net/u010097777/article/details/39268659)、存储过程+事务(http://blog.csdn.net/u010097777/article/details/39432449)等,最想说的就是遇到问题时要想着怎样用更加简单的方法去解决,这些工具也都是适应我们的需求的,还有出来混迟早都要还的,之前学习数据库时的东西都补偿了回来。设计模式的加入非常是挑战,但这个阶段我们先模仿着来,加了外观、模板(http://blog.csdn.net/u010097777/article/details/39638017)和单例(http://blog.csdn.net/u010097777/article/details/39718549),感受就是要大胆去尝试,有思路就好,真的是这样,这次下机代码是自己写的。尽管抽象的也不好,可是功能还是实现了。

    这中间遇到了非常多问题:未载入程序集DAL,未将对象引用加入到实例。无法找到表,也攻克了不少问题:结账控件查找。全局变量使用等,总之遇到问题我会首先自动找方案解决,实在解决不了也会和他们讨论。比方子父窗口这块感觉一清比我的方法要好(http://blog.csdn.net/u010097777/article/details/39719921)

           师哥验收时。他们站位比較高,除了一些推断、规范之类。UI设计也不舒服让人,改动学生信息、强制全部下机功能有问题,最大的问题就是我面向对象抽象不好,B层代码非常少,而U层有大量推断,并且直接将D层信息返回到界面,这哪里解耦了?后来在改动中把上机方法写入了外观,这样就不用将全部返回值都返回U层了,可是下机我是没有能抽象出来。由于下机计算时间和金钱时我是直接利用U层界面数据,但外观不可能引用U层呢?所以在强制下机那块也有问题。在改动图过程中体会到了原来前期的规范的图非常重要,传递的參数、返回值、凝视都要准确,等我们合作开发时按层来做更是如此。

            遗留:没有打包公布,下机没能用上策略模式,强制全部下机有问题;个人重构暂告一段落。感觉自己从一个菜鸟在成长,也更加让我认识到自己的路还非常长。

  • 相关阅读:
    Core Animation 文档翻译—附录C(KVC扩展)
    Core Animation 文档翻译—附录B(可动画的属性)
    Core Animation 文档翻译—附录A(Layer样貌相关属性动画)
    Core Animation 文档翻译 (第八篇)—提高动画的性能
    Core Animation 文档翻译 (第七篇)—改变Layer的默认动画
    Core Animation 文档翻译 (第六篇)—高级动画技巧
    Core Animation 文档翻译 (第五篇)—构建Layer的层次结构
    用Markdown快速排版一片文章
    Core Animation 文档翻译 (第四篇)—让Layer的content动画起来
    Core Animation 文档翻译(第三篇)—设置Layer对象
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7064680.html
Copyright © 2011-2022 走看看