机房收费系统个人重构
在进行了差不多一个月的三层架构的学习之后,我开始了走上了机房收费系统个人重构的“不归路”。呵呵,说的有些严重哈,但是真的是比较头疼,对于重构,不是抵触,而是真心的不知道从哪里下嘴,感觉就像捧着一块热豆腐,心是够急的,但是打量了好长时间也不知道从哪里入手,不知道大家有没有同感。
首先,我先说说我的画图。师傅说,一个系统,将近70%的时间是用在画图和写文档上面,然后剩下的30%时间代码便可以根据所画的UML图一气呵成。说的跟神了似的,我开始真的是这样想,想着怎么可能?在我眼里,代码比文档和画图都重要啊,觉得也应该是先有代码再有图啊。上述我的想法先告一段落,后面咱们再接着说。于是乎,我就开始画图。问题真的好多,并且,刚开始画的时候,不知道该怎么画,也不知道从哪里下手。后来发现,其实包图和用例图问题不是很大(用例图在子类和父类继承上之前给弄混淆了,之前以为是子类继承父类,以为“一般用户”是子类,“操作员”是父类,以为“操作员”是子类,“管理员”是父类,但是刚好给搞混了),关键问题就出在类图和时序图上面。下面我慢慢说,你慢慢听啊。 类图:在第一遍学习UML的时候,已经画了类图,但是现在看来,当时的理解显然连皮毛都没理解到。有了三层的一些基础之后,通过三层的思想再来画类图,我发现其实问题并不是那么简单。我为什么这么说呢?三层的学习,我自以为我大致明白了各个层的功能作用,比如说U层用来输入数据和显示数据,B层用来进行业务逻辑的处理,D层用来查数据的,我貌似明白了各个层的作用,但是画图时,我无法将理解的东西转化为类图,根本就画不出类图。U层,就是放窗体的,而我在最开始,竟然抽出来一个User类放在上面,现在想想,U层放一个User类那算什么啊。
是我第一遍画的U层、B层、D层的关于整个系统的类图: U层B层: D层:
上面的那些第一遍画的图有很多错误的地方,方法不对,不知道写方法名、参数、返回值,同时变量写的也不对。总之发现的问题非常之多。
下面这些图是我第二遍画的U层、B层、D层关于登陆和添加用户的类图,呵呵,看着稍微有点进步没?
U层:B层:D层:
总之呢,类图抽不出类,不知道各个层应该放什么这是问题之一,于是乎,慢慢的一点点改进,刚开始画真的”惨不忍睹“。说完了类图,接下来我们来说说时序图。 时序图:时序图更搞笑,我现在回想一下啊,觉得其实也是,走过来才发现哦,原来走过的路是摸着黑走过来的。最开始,我居然不知道时序图是从类图拖出来的,然后我还累着自己往时序图上写方法,结果写的方法还不对。 这是我第一遍画的关于登陆的时序图: 这是我第二遍画的关于登陆的时序图: 对比一下,真的发现很多问题。当然,现在画的图也不一定全部都是正确的,肯定还有一些错误,但是总而言之,对比中真的发现了很多问题,遇到的问题也很多,包括现在也是,我们就是在不断的遇到问题不断的解决问题中成长的,您说对吧?
|