2011年10月15日
摘要: 接上篇《机房收费系统重构(一)》二、概要设计完成了用例图,并用结合用例图完善了一下需求分析说明书,忘记是第几次修订需求分析说明书。有了用例图,很自然就进入了概要设计阶段。我认为这一阶段就是结合包图解决系统的基本架构。在这里采用了三层架构(符合高内聚,低耦合的思想),并结合了一些设计模式。下面看我的包图:可以看到,这个包图,是从最经典的三层UI-BLL-DAL加入设计模式演化而来。之所以采用抽象工厂模式是考虑到更换数据库的方便。而应用外观模式,是为了解决UI层和BLL层耦合性过高的问题,UI层不必知道BLL层的存在,Facade(外观)知道BLL层的哪些类负责处理哪些请求,它将UI的请求代理给适 阅读全文
posted @ 2011-10-15 16:17 springside例子 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 从10月1号开始重构学校机房收费系统,没想到这次重构,推翻,再重构……用了两周时间。这次整体架构采用三层,并融入了一些设计模式。下面介绍这次重构的过程:一、从UML用例图开始对于机房收费系统的需求已经很熟悉了,用例和角色都已经提取出来了,在这里遇到一个问题,就是,究竟是根据角色划分用例,还是根据功能划分用例?按角色来画:更容易下一步建模,基本上一个用例对应一个UI层的一个界面,而且一个用例对应一个业务逻辑。但在机房收费系统中,不利于对系统的宏观把控按功能模块来画:使整个系统看起来更加直观,更容易宏观把握整个系统的功能需求。但对于机房收费系统,显然不利于下一步建模,抽象类的时候很容易漏掉方法。两 阅读全文
posted @ 2011-10-15 16:16 springside例子 阅读(160) 评论(0) 推荐(0) 编辑