Java应用架构设计的七次重构详解

Java应用架构设计的七次重构详解

在开发系统时,虽然一个很小的系统,开始时它也是粗粒度和重量级的模块;当特定的需要出现时,我们将会把较大的模块儿拆分为较细粒度和轻量级的模块,他们会处理特定的功能性和非功能性需求。而七次重构就是从一个系统出发,根据软件使用中不断出现的新需求教你如何实现一个灵活的应用架构。

下面以开发一个处理账单支付的系统为例进行讨论。在支付账单前,系统需要根据与领款人写协议,针对这个账单采用一个折扣率(我们将这个过程称为审核账单)。计算这个折扣率需要使用到第三方供应商进行计算。另外还需要与遗留的财务系统进行集成,将会为这个系统提供用于对账的支付信息。随着开发过程的进行,我们将不断重构,不断完善细节。

原始版本

类图如下

这里写图片描述

从类图中可以看到,有一些使用Struts的Action和ActionForm类。还有一些Java ServerPage(JSP)在这里没有进行展示。Customer类有一个Bill实例的列表,每个Bill分别有对AuditFacade和Payment类的引用。AutitFacade会集成第三方供应商的软件计算折扣,Payment类会集成一个遗留的财务系统。注意Bill类与AuditFacade之间的双向关联;后面我们会处理这种问题。

第一次重构

物理分层模式:对于真有分层的系统,我们可以将每层拆分为一个独立的模块,而且上层模块依赖低层模块,但不能相反;我们只需要修改构建脚本就能将分

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值