
24
第 3 章
设计持续交付的架构
既然你已经了解了持续交付的目的,接下来你将了解实现持续交付的技术基础
—
软件
架构。在本章中,你将了解设计一个松耦合、高内聚系统的重要性,以及如果违反这些
原则需要付出的技术和业务代价。你将了解设计一个有效
API
的重要性、云计算对软件
架构的影响,以及为什么
Java
开发人员正在拥抱面向服务的开发方式。本章的主要目标,
是让你知道如何搭建一个能够持续交付
Java
应用程序的架构。
优秀架构的基础
软件工程协会(
SEI
)(
http://www.sei.cmu.edu/architecture/
)将软件架构定义为“能够用
来理解系统的一组结构,包括各种软件元素、元素之间的关系以及它们的属性。”虽然
这听上去可能很抽象,但是结构、元素和属性是大多数软件工程师理解架构的核心。从
略微不同的角度来看,
Martin Fowler
对软件架构的定义是由“人们认为难以改变的事情”
组成的(
https://youtu.be/DngAZyWMGR0
)。无论你更倾向于哪种定义,想要搭建一个合
适的架构,定义一个软件系统的属性都是必不可少的。
其他的架构资源
很多书都介绍了有关软件架构的内容,但是有些书的内容会比较抽象。如果你希
望了解关于软件架构的更多信息,我们建议你阅读以下这些非常有趣的书籍 :
y
Building Evolutionary Architectures
(O
’
Reilly)
,作者是
Neal Ford
等人。
y
97 Things Every Software Architect Shoul ...