讲架构与实现分界.pdfVIP

  • 0
  • 0
  • 约8.96千字
  • 约 7页
  • 2025-08-27 发布于北京
  • 举报

05讲架构与实现:它们的连接与分界

把⼀种想法、⼀个需求变成代码,这叫“实现”,⽽在此之前,技术上有⼀个过程称为设计,设计中有个特别的阶段叫“架构”。

程序员成⻓的很⻓⼀段,⼀直是在“实现”,当有⼀天,需要承担起“架构”的责任时,可能会有⼀点搞不清两者的差异与

界线。

架构?众说纷纭。

架构(Architecture)⼀词最早源⾃建筑学术语,后来才被计算机科学领域借⽤。以下是其在百科(Wikipedia)中的定

义:

架构是规划、设计和构建建筑及其结构的过程与产物。在计算机⼯架构是描述功能、组织和计算机系统实现的⼀

组规则与方法。

Architectureisboththeprocessandtheproductofnning,designing,andconstructingbuildingsandotherphysical

structures.Incomputerengineering,“computerarchitecture”isasetofruandmethodsthatdescrihefunctionality,

organization,andimplementationofcomputersystems.

在建筑学领域,有⼀组清晰的规则和方法来定义建筑架构。但可惜,到⽬前为⽌,在计算机软件⼯程领域并没有如此清晰的⼀

组规则与方法来定义软件架构。拼课:699250

好在经过多年的实践,行业里逐渐形成了关于软件架构的共同认知:软件系统的结构与行为设计。⽽实现就是围绕这种已定义

的宏观结构去开发程序的过程。

做什么

架构做什么?很多人会感觉糊里糊涂的。

我刚获得“架构师”称号时,也并不很明确架构到底在做什么,交付的。后来不断在⼯作中去、实践和迭代,我才慢

慢搞清楚架构⼯作⼯作的差异与分界线。

从定义已知道架构是⼀种结构设计,但它同时可能存在于不同的维度和层次上:

高维度:指系统、子系统或服务之间的切分与交互结构。

中维度:指系统、服务模块的切分与交互结构。

低维度:指模块组成的代码结构、数据结构、库表结构等。

在不同规模的团队中,存在不同维度的架构师,但不论⼯作在哪个维度的架构师,他们⼯作的共同点包括下面4个方面:

1.确定边界:划定问题域、系统域的边界。

2.切分协作:切分系统和服务,⽬的是建⽴分⼯与协作,并行以获得效率。

3.连接交互:在切分的各部分之间建⽴连接交互的原则和机制。

4.组装整合:把切分的各部分按预期定义的规则和方法组装整合为⼀体,完成系统⽬标。

有时,你会认为架构师的职责是要交付“⼀种架构”,⽽这“⼀种架构”的载体通常又会以某种⽂档的形式体现。所以,很容易误

解架构师的⼯作就是写⽂档。但实际上架构师的交付成果是⼀整套决策流,⽂档仅仅是交付载体,⽽且仅仅是过程交付产物,

最终的技术决策流实际体现上系统的运行结构中。

⽽对于实现,你应该已经很清楚是在做什么了。但我在这里不妨更清晰地分解⼀下。实现的最终交付物是程序代码,但这个过

会发⽣什么?⼀般会有下面6个方面的考虑:选型评估;程序设计;执行效率;稳定健壮;运维;集成部署。

下表为其对应的详细内容:

我以交付⼀个功能需求为例,讲述下这个过程。

实现⼀个功能,可能全部⾃⼰徒⼿做,也可能选择⼀些合适的库或框架,再从中找到需要的API。

确定了合适的选型后,需要从逻辑、控制与数据这三个方面进⼀步考虑程序设计:

逻辑,即功能的业务逻辑,反映了业务场景流程与分支,包含大量业务领域知识。

控制,即考虑业务逻辑的执行策略,哪些可以并行执行,哪些可以异步执行,哪些地方又必须同步等待结果并串行执行?

数据,包括数据结

文档评论(0)

1亿VIP精品文档

相关文档