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

演化架构与紧急设计: 研究架构和设计

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示:演化架构(evolutionary architecture)和紧急设计(emergent design)都是将重要的决策推迟到最后责任时刻(Last Responsible Moment)的敏捷技术,在本系列的第一期文章中,演化架构与紧急设计: 研究架构和设计,系列作者 Neal Ford 将定义架构和设计,然后指明

演化架构(evolutionary architecture)和紧急设计(emergent design)都是将重要的决策推迟到最后责任时刻(Last Responsible Moment)的敏捷技术。在本系列的第一期文章中,系列作者 Neal Ford 将定义架构和设计,然后指明了一些关于整个系列的基本概念。

软件架构和设计一直都没有一个明确的定义,因为软件开发作为一门学科,尚未完全理解其中的复杂度和内涵。但是要发表关于这些主题的论述,您必须从某个位置开始。本系列涉及演化架构和紧急设计,因此将从一些定义、注意事项和其他基础设置入手。

定义架构

软件中的架构是开发人员谈论最多但是最难理解的概念之一。在会议中,关于架构的对话及相关讨论频繁出现,但是我们仍然只具有含糊的定义。在讨论架构时,我们实质上是在谈论几个不同但是相关的方面,这些方面通常可以划分为应用程序架构 和企业架构 这两个主要类别中。

应用程序架构

应用程序架构描述组成应用程序的主要部分。例如,在 Java 世界里,应用程序架构都描述两个内容:用于构建特定应用程序的框架组合 — 我称其为框架级架构 — 以及更多传统的逻辑关注点分离,我一直称这些内容为应用程序架构。将框架架构作为一个独立部分,因为大多数面向对象语言的从业者已经发现单独的类不能实现良好的重用(您最后一次从 Internet 中下载一个单独的类以供某个项目使用是什么时候?)。目前面向对象语言中的重用部分都是库或框架。当您用提供丰富框架的语言(如 Java 语言)启动一个新项目时,首要的架构关注点之一就是应用程序的框架级架构。这种重用设计在 Java 世界中获得了巨大成功,以至于我已经开始认为我们应当停止把 Java 编程称为面向对象的语言,而应当称其为面向框架的语言。在许多方面,框架级架构代表特定构建块所描述的物理架构。

1 2 3 4 5 6  下一页

Tags:演化 架构 紧急

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