摘要:
我们曾提到,架构师玩的是折中的游戏。对于一组给定的功能需求和品质需求,没有唯一的正确架构和唯一的“正确答案”。我们从经验中得知,应该对架构进行评估,确定它是否满足其需求,然后再投入资金来构建、测试和部署这个系统。评估试图回答前面小节中讨论的一个... 阅读全文
posted @ 2022-12-03 09:12
星火燎猿*
阅读(31)
评论(0)
推荐(0)
摘要:
那么,好的架构师如何来处理这些关注点?我们曾经提到过,需要将系统组织成一些结构,每种结构都定义了特定类型的组件之间的具体关系。架构师的主要关注点就是对系统进行组织,让每种结构有助于解答一个关注点所定义的问题。关键的结构决定将产品划分为组件,并... 阅读全文
posted @ 2022-12-03 09:12
星火燎猿*
阅读(14)
评论(0)
推荐(0)
摘要:
到目前为止,我们已经讨论了一般意义上的架构,并分析了软件架构与其他领域的架构之间有何相似与差异。接下来我们将注意力转到“如何”设计软件架构。当架构师创建 软件系统的架构时,她应该关注什么? 软件架构师的首要关注点不是系统的功能。... 阅读全文
posted @ 2022-12-03 09:12
星火燎猿*
阅读(15)
评论(0)
推荐(0)
摘要:
架构是系统设计的一部分,它突出了某些细节,并通过抽象省略掉另一些细节。所以,架构是设计的一个子集。关注实现系统组件的开发者可能不会特别关心所有组件如何装 配在一起,而是主要关注少数组件的设计和开发,包括他们必须遵守的架构约束和可以应用的规则。因... 阅读全文
posted @ 2022-12-03 09:12
星火燎猿*
阅读(9)
评论(0)
推荐(0)
摘要:
如果认为“架构”是一个简单的实体,能够用一份文档或一张图纸来描述,那就错了。架构师必须做出许多设计决定。要想有用,这些决定必须用文档记录下来,这样就能够 进行复审、讨论、修改和批准,然后作为后续决定和构建时的约束。对于软件系统,这些设计决定包括... 阅读全文
posted @ 2022-12-03 09:12
星火燎猿*
阅读(11)
评论(0)
推荐(0)
摘要:
软件开发项目需要一些人在软件构建时扮演架构师的角色,就像构建或修复建筑时传统的建筑师的角色一样。但是,对于软件系统来说,从来就弄不清楚哪些决定属于架构师 的职责范围,哪些决定要留给实现者。定义架构师在软件项目中做什么,比建筑师的类似定义更困难,... 阅读全文
posted @ 2022-12-03 09:12
星火燎猿*
阅读(11)
评论(0)
推荐(0)
摘要:
在设计、构建和修复建筑时,我们指定关键的设计师为“建筑师(architects)”,并赋予他们广泛的职责。建筑师准备建筑最初的草图,展示外观和内部布局,与客户讨论这些草图,直至所有相关方都达成一致意见,认为展示的就是他们想要的。这些草图是抽象:... 阅读全文
posted @ 2022-12-03 09:12
星火燎猿*
阅读(17)
评论(0)
推荐(0)
摘要:
建筑师、音乐家、作家、计算机设计师、网络设计师和软件开发者都在使用“架构”这个术语,其他人也用(你有没有听说过“食物架构”?),然而不同的用法其结果也不同。建筑与交响乐完全不同,但都有架构。而且,所有的架构师都在谈论他们工作中的美,以及因... 阅读全文
posted @ 2022-12-03 09:12
星火燎猿*
阅读(17)
评论(0)
推荐(0)
摘要:
人们在生活和工作中发现美并创造美,软件开发和架构设计也不例外。 架构之美体现了关注点的分离与结合。在软件设计中,设计师需要考虑多方面的关注点。漂亮的架构设计让这些关注点尽可能分离,然后以最简单的机制结合在一起,从而得到高内聚、低... 阅读全文
posted @ 2022-12-03 09:12
星火燎猿*
阅读(14)
评论(0)
推荐(0)
摘要:
我无法给架构下一个简单的定义,因为任何定义都会束缚你对架构的无限想象。不可否认,架构师早已出现在人类几千年前的各项生产活动中,比如建筑、音乐。而在计算机软件及Web领域,架构的设计直接影响着系统的生产,比如开发过程和效率、代码和组 件复用性等,... 阅读全文
posted @ 2022-12-03 09:12
星火燎猿*
阅读(9)
评论(0)
推荐(0)

浙公网安备 33010602011771号