WEB开发网
开发学院软件开发Java 演化架构和紧急设计: 演化架构 阅读

演化架构和紧急设计: 演化架构

 2010-03-08 00:00:00 来源:WEB开发网   
核心提示:在 本系列的第一期 中,我推荐了软件世界中的一些架构定义,演化架构和紧急设计: 演化架构,无论如何,如果您已经阅读过本系列,在那个 Web 框架中您使用不同的设计模式来表述特定的目标,这就表示大部分的正式设计模式是设计,您会注意到我花费了大部分时间在设计上,我之所以这么做是基于以下几个原因:首先

在 本系列的第一期 中,我推荐了软件世界中的一些架构定义。无论如何,如果您已经阅读过本系列,您会注意到我花费了大部分时间在设计上。我之所以这么做是基于以下几个原因:首先,在当前紧急设计尚未被广泛关注时,软件世界里存在很多架构定义(良莠不齐);其次,在设计方面很多问题都有具体的、不受环境限制的解决方案。架构往往还涉及到很多组织内的物理和逻辑基础设施,使其难以独立谈起。

关于本系列

本 系列 旨在从全新的视角来介绍经常讨论但是又难以理解的软件架构和设计概念。通过具体示例,Neal Ford 将帮助您在演化架构 和紧急设计 的灵活实践中打下坚实的基础。通过将重要的架构和设计决定推迟到最后责任时刻,您可以防止不必要的复杂度降低软件项目的质量。

这一期填补了敏捷构架材料缺失的空白。在此我讨论的是如何分辨架构和设计,涵盖了一些广泛的架构考虑,然后通过讨论版本控制端点,浅谈敏捷的面向服务架构(SOA)。

分辨架构和设计

Martin Fowler 对架构的定义(来自和他的对话中)是我认为最好的:

架构就是完成之后很难更改的东西。所以这种东西应该尽可能越少越好。

您可以想象一下架构和设计之间的交互,如图 1 中所示的关系:

图 1. 架构和设计的关系

演化架构和紧急设计: 演化架构

一个软件系统的架构形成是所有其他部分存在的基础,如 图 1 中的灰盒所示。设计部分存在于架构之上,如红盒所示。处于更基础的地位,架构部分难以移动和替换是因为您不得不移动所有以架构为基础的部分来适应改变。这一定义使识别设计和架构更为简单。例如,您所使用的 Web 框架就是一个架构,因为它难以替换。尽管,在那个 Web 框架中您使用不同的设计模式来表述特定的目标,这就表示大部分的正式设计模式是设计,而不是架构的一部分。

1 2 3 4 5 6  下一页

Tags:演化 架构 紧急

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