重构版个人机房收费系统大概从暑假开学開始进行。花了不到一个半月的时间才完毕。以下对我在重构过程中的一写理解。

1、系统设计一个非常重要的目的就是重用。而要做到重用,低耦合是最有效的手段回想一下我们C/S的整个学习过程,我们能够发现。从開始的VB版的机房收费系统,然后到如今VB.NET版。加设计模式、对系统进行分层。这个过程就是在对系统进行解耦。要解耦,首先就要进行抽象。

把多次、反复用到的代码进行封装。其余的部分运用继承或者多态的思想,来进行使用。

在机房收费系统中我们所涉及到的一些解耦的方式:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemx0czAwMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

不知道解耦可不能够这样理解,举个样例:

高耦合的样例:告诉用户这个系统是干什么的。而且用户知道系统内部的一些设计。

解耦后,用户仅仅知道这个系统是干什么用的,而不知道系统内部是怎样执行,怎样设计

2、在重构的过程中。加设计模式、存储过程、视图或者事务等,对这些东西要先自己去研究,去试验,看懂是一回事,会用却是还有一回事,花费大量的时间去用眼看、脑子想,永远不如把这些东西落实到代码上去理解的快。

重构的过程中肯定会有很多的问题,找同学帮忙解决这个问题的前提是你必须对你提出的问题有一定的理解,然后在此基础上提出你的问题,然后再让同学帮你;假设你刚接触到一个问题,没有自己的理解,就让同学帮你解决。那么最后的结果是。你兴许的理解,大部分是建立在他人的思想上的,而不是你自己的。

个人重构。把能加的都加上,有的人说。先什么都不加呢,等到合作的时候再说吧,我想说的是,如今你不愿去学习这些新的知识。那么合作的时候,你依旧须要花费同样的时间或者很多其它的时间去了解这些新知识,欠的债总是要还的。

机房收费系统(VB.NET)个人版总结的更多相关文章

  1. 机房收费系统vb.net之打包与部署(一)

    从机房重构到如今,我最大的感受就是万事开头难,万事结尾难!开头难是由于那个思路理不清,对三层已经设计模式的应用不够熟悉,结尾难就是打包部署了!这几天非常头疼,以为完毕了代码就大功告成了,但是没想到啊, ...

  2. 机房收费系统vb.net之打包与部署(二)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wangdan199112/article/details/28286365             ...

  3. VB.NET版机房收费系统---导出Excel表格

    datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...

  4. 小结:VB.NET机房收费系统个人版

    经过几天的缝缝补补,自己的个人版最终OK了,!或许是由于有第一次的机房收费系统的经验,这次做,感觉很亲切. 在业务逻辑方面,沿袭曾经的逻辑.做了一点升级.可是修改不大. 在数据库方面,感觉自己从一个小 ...

  5. VB.NET版机房收费系统---七仙女之系统登录

    VB.NET第一版机房收费系统,告一段落,验收的时候.问题也是大大的存在,没实用上设计模式,什么触发器.存储过程,都没实用上.看看其她小伙伴的,七层实现登录?那是什么东东,相比較我的三层而言,多了两倍 ...

  6. 机房收费系统——在VB中将MSHFlexGrid控件中的数据导出到Excel

    机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系 ...

  7. 机房收费系统之vb报表的模板的制作(一)

           机房收费系统有报表的功能,报表对于我们来说有点陌生.这不是会计的事吗?怎么机房收费系统也參合进来了,事实上我们学会了报表的步骤.理解了代码后.报表变得不是非常难,世上无难事,仅仅怕肯登攀 ...

  8. VB.NET 机房收费系统项目总结

    VB.NET机房收费系统项目总结 从2013年5月3日——2013年8月20日历时三个多月的.NET机房收费系统终于完成了.项目做完了,真有一种如释重负的感觉. 下面我将从文档.UML图,代码这三个方 ...

  9. VB.NET版机房收费系统---外观层如何写

    外观设计模式,<大话设计模式>第103页详细讲解,不记得这块知识的小伙伴可以翻阅翻阅,看过设计模式,敲过书上的例子,只是学习的第一步,接着,如果在我们的项目中灵活应用,把设计模式用出花儿来 ...

随机推荐

  1. Python Hashlib笔记

    #python3.4hashlib module - A common interface to many hash functions.hash.digest() - Return the dige ...

  2. eclipse中tab键设置

    1.点击 window->preference-,依次选择 General->Editors->Text Editors,选中右侧的 insert space for tabs;如下 ...

  3. nodejs 如何发送一个带JSON的GET请求?

    GET /megacorp/employee/_search { "aggs" : { "all_interests" : { "terms" ...

  4. windows phone 网络开发三部曲(一)各种包的各种抓法

    首先感谢大家对我上一篇博客的支持,让我也体验了一把上榜的感觉. 这无疑是对我这个刚刚打算,认真写写博客的人的莫大的鼓励,再次感谢(鞠躬)!! 接下来想和大家分享一些关于windows phone网络开 ...

  5. 五、人生苦短,我用python【第五篇】

    Python基本数据类型 运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为 ...

  6. 爆炸几何之 CCPC网络赛 I - The Designer (笛卡尔定理)

    本文版权归BobHuang和博客园共有,不得转载.如想转载,请联系作者,并注明出处.   Nowadays, little hahahaha got a problem from his teache ...

  7. 【Luogu】P2051中国象棋(DP)

    题目链接 去看STDCALL的题解吧 #include<cstdio> #include<cctype> #define mod 9999973 inline long lon ...

  8. jvm gc回收机制

    jdk8取消永久代,增加metaspace元空间.使用本地内存,不使用堆内存. jstat -gcutil jstat -gccause pid 1 每格1毫秒输出结果jstat -gccause p ...

  9. idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到

    接着上一章走呗:http://www.cnblogs.com/sxdcgaq8080/p/7712874.html 然后声明一点,下面打包的过程中,scope一直都是使用默认的范围 <!--用于 ...

  10. PatentTips - GPU Support for Blending

    Graphics processing units (GPUs) are specialized hardware units used to render 2-dimensional (2-D) a ...