机房重构---咱们“重构”出了什么?

           机房重构当即就要结束了,在这“第三个”系统结束的时候,有必要思考一下咱们重构的目的了。数据库

          或许有人说,还有什么目的呀,不就是编程语言换成了.Net,作出来,调完bug,能执行就得了呗。这么浮夸的日子里,还叫什么劲啊?编程

          对于有这样的想法的人,我必须道一声:您(白)辛苦了 !设计模式

          无论作什么事,没有一点总结性思考是没法进步的。安全

          我如下的一些重构论述或者说反思性总结也存在不少不足,但愿你们多多指正,在此先致谢!架构

          本文将从五个方面论述一下此次的重构系统,各自是系统架构、UML图指导、设计模式应用、数据处理和面向对象。编程语言

 

          首先,系统架构方面工具

          在此次重构中,咱们都运用了三层架构,目的是减小耦合,提升系统的重用性和可维护性等各类目的。在设计中,和第一次机房的基本面向过程编程相比,咱们确实也深入的体会到了有架构的方便和易维护。学习

          经过加入外观、SqlHelper、配置文件等基本辅助模块或工具,咱们再次体会到了独立的封装给咱们带来的巨大便利,从解耦到封装,就看到了面向对象。大数据

 

          其次,UML图和文档的指导。此次重点是放在了UML图上,用例图、包图、类图和时序图是关键。spa

          包与”三层“、类图与三层中D层和B层的设计(不一样的分类标准,如按数据库表仍是功能进行B层设计)、时序图对功能运行过程的指导等都是密不可分,需要咱们必须提早细致分析的。固然,这些都是创建在需求分析和用例设计之上的。

 

          再次,设计模式方面

          现在为止,应用设计模式的难点在于怎样将系统的某个功能或系列功能相应到设计模式中。学习过程当中,能够对各个实例理解和形象化描写叙述出来是重点,这样咱们才干更好的相应到之后的系统实例分析中。

          在机房重构中,眼下我了解或使用的设计模式应用有:

          策略模式-对于不一样类型的用户实行不一样的计费方法

          抽象工厂+反射-对不一样的表进行简单化切换

          外观-在U层和B之间的外观层,进一步解耦,使U层更具独立性

          模板-相似的窗口不需要一遍遍反复的代码

          适配器-外部报表和vb.net融合

          单例-保证一个窗口不被各类new出来

          职责链-从通常用户到操做员再到管理员,总有一个要解决这个问题

 

          再谈谈数据处理方面。

          数据处理无论何时都是一个重点需要解决的问题,尤为是在现代大数据时代,效率和安全显得更为重要。在此次机房重构中,对数据库一些功能有了更为深刻的理解。          

          这里说两点。一是在经过第一次作机房的时候对建数据库的生涩、缺少必要三范式分析的基础上进行了第二次数据库创建和改良。即便在系统编程过程当中,有时候仍是避免不了去动数据库,改改字段,以弥补咱们分析的不足和暂时的灵光一现。

          二是当咱们一而再,再而三的路过标有“事务、存储过程、触发器、视图”等等关键词的路牌时,有必要驻足去探查一番了。存储过程和触发器运行方便切更符合封装性特色,事务对系统某些”互相影响“功能的严格控制等特色让咱们不得不去探索它们的长处,进而应用。存储过程的应用如上下机、组合查询等;事务可以考虑用于充值、结帐方面。

 

          最后,谈一下系统与面向对象

          在此次重构中,体会到了面向对象无处不在的思想长处。

          比方继承性:管理员对操做员的继承,操做员对通常用户的继承,不只明白了他们之间的联系,还简化告终构。另外接口的应用也是继承。

          封装性就体现的不少其它了,数据封装、功能封装无处不在。一个良好的系统设计需要对面向对象、面向接口有着极为深刻的理解,另外,在实际操做过程当中进行实践更是提高咱们理解的最佳手段。

 

          总结:对于这次机房重构,还有很是多实践上应用的不足,怎样把这些思考经过此次重构,乃至结合下次的合做版实现,才是对经验最好的补充。这样在应对如下的学习时,就可以把学习自己做为一个系统进行完美解析和最佳实践了。

相关文章
相关标签/搜索