WEB开发网
开发学院软件开发Java 演化架构与紧急设计: 组合方法和 SLAP 阅读

演化架构与紧急设计: 组合方法和 SLAP

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 提炼的框架与提前设计的框架最好的框架往往是从现有的代码中提炼出来的,而不是预先设计的,演化架构与紧急设计: 组合方法和 SLAP(7),关起门来设计框架的人必须预测到开发人员希望使用框架的所有方式,框架最终会包含大量特性,BoundaryBase 和 PartDb 的组合构成一个在此应用程序中反

提炼的框架与提前设计的框架

最好的框架往往是从现有的代码中提炼出来的,而不是预先设计的。关起门来设计框架的人必须预测到开发人员希望使用框架的所有方式。框架最终会包含大量特性,而用户很可能并不使用所有特性。但是,您仍然必须考虑到所选框架中不使用的特性,因为它们会增加应用程序的复杂性;这可能影响不大,比如只需在配置文件中添加额外的条目,也可能影响很大,比如改变实现某一特性的方式。提前设计的框架往往包含大量特性,同时忽略了没有预测到的其他特性。JavaServer Faces (JSF) 就是提前设计的框架的典型例子。它最酷的特性之一是能够插入不同的显示管道,从而输出 HTML 之外的其他格式。尽管很少使用这个特性,但是所有 JSF 用户必须了解它对 JSF 请求的生命周期的影响。

从现有应用程序中发展出来的框架往往提供更实用的特性集,因为它们解决开发人员在编写应用程序时面对的实际问题。在提炼的框架中,多余的特性往往更少。提炼的框架的例子是 Ruby on Rails,它是从实践中发展出来的。

这些重构工作真正重要的益处是得到了可重用的代码。在 清单 1 中,看不到可重用的资产;只看到一大堆代码。通过把混杂的方法分隔开,我发现了可重用的资产。但是,除了重用,还有其他好处。我还为在应用程序中处理持久性的简单框架建立了基础。在需要通过创建另一个边界类从数据库中收集其他实体时,我已经有了基本框架。这就是 提炼 框架的过程,而不是关起门来设计框架。

获得可重用的资产之后,应用程序的总体设计就会透过组成它的代码逐渐显现出来了。紧急设计的目标之一是找到应用程序中使用的惯用模式。BoundaryBase 和 PartDb 的组合构成一个在此应用程序中反复出现的模式。把代码分隔为小块之后,就很容易看出各个部分是如何协作的。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:演化 架构 紧急

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接