软件架构师
文章平均质量分 86
zy_小轩
77778888899999
展开
-
软件架构师 第一部分 基础篇 第七章 基于组件的思想
在第3章中,我们将模块作为相关代码的集合进行了讨论。但是,架构师通常从组件的角度考虑模块的物理表现形式。开发人员实际上以不同的方式打包模块,有时取决于他们的开发平台。我们称模块组件为物理包装。大多数语言也支持物理打包:JAVA中的jar文件 ,.NET中的dll文件, Ruby中的gem文件等。在本章中,我们讨论围绕组件的架构注意事项,ranging from scope to discovery.组件范围开发人员发现基于大量因素细分组件的概念很有用,其中一些因素出现在图8-1中。组件提供了原创 2022-04-23 15:46:43 · 457 阅读 · 0 评论 -
软件架构师 第一部分 基础篇 第六章 架构特性的范围
在软件架构领域中,一个普遍的假设就是在传统上将架构特性的范围置于系统级别。例如,当架构师谈论可伸缩性时,他们通常会围绕整个系统的可伸缩性进行讨论。这是十年前的假设,当时几乎所有系统都是单机的。随着现代工程技术及其它支持的架构样式(例如微服务)的出现,架构特性的范围已大大缩小。随着软件开发生态系统持续不断发展而逐渐过时的一个典型例子。在《演进式架构》一书的撰写过程中,作者需要一种技术来衡量特定架构风格的架构演变。现有措施均未提供正确的详细程度。在“架构度量”中,我们讨论了各种代码级度量,这些度量允许架构.原创 2022-04-23 15:28:40 · 2219 阅读 · 0 评论 -
软件架构师 第一部分 基础篇 第五章 架构特性的度量和控制
架构师必须处理软件项目所有不同方面的各种架构特性。诸如性能,弹性和可伸缩性之类的运营方面与诸如模块化和可部署性之类的结构性问题融合在一起。本章着重于具体定义一些较常见的架构特性并为其建立治理机制。测量架构特性组织中有关架构特性的定义存在几个常见问题:他们不是物理的常用的很多架构特性含义不明确。例如,架构师如何设计敏捷性或可部署性?业界对通用术语的看法大相径庭,有时是由合理的不同上下文所驱动,有时是偶然的。定义千差万别即使在同一组织内,不同部门也可能在关键功能(例如绩效)的定义上存在.原创 2022-04-23 14:20:49 · 1238 阅读 · 1 评论 -
软件架构师 第一部分 基础篇 第四章 识别架构特性
识别架构特性是创建架构或确定现有架构有效性的第一步。为给定的问题或应用程序识别正确的架构特性(“ -ilities”),不仅要求架构师理解领域问题,而且还与问题域相关利益者合作,从领域角度确定什么是真正重要的。架构师通过从领域关注点,需求和隐式领域知识中提取出来,至少可以用三种方式揭示了架构特性。我们在这里讨论了前面讨论过的两个隐含特性。从领域关注点中提取架构特性架构师必须能够翻译领域问题,以识别正确的架构特性。例如,可伸缩性是最重要的,还是容错性,安全性,还是性能?也许系统需要将所有四个特性.原创 2022-04-23 13:05:00 · 3020 阅读 · 0 评论 -
软件架构师 第一部分 基础篇 第三章 架构特性的定义
一家公司决定使用软件解决特定问题,因此它们收集了该系统的需求列表。有很多种用于需求收集的技术,这些技术通常由团队在软件开发过程中定义。但是,架构师在设计软件解决方案时还必须考虑许多其他因素,如图4-1所示。图4-1。软件解决方案由领域需求和架构特性组成架构师在定义领域或业务需求方面进行协作,但是一个关键的职责是定义、发现和分析软件必须做的与领域功能没有直接关系的所有事情:架构特性。软件编码和设计时候架构有什么不同呢?很多时候,架构师在定义架构特性方面的作用,系统的重要方面实际与问题域..原创 2022-04-23 12:57:09 · 2882 阅读 · 0 评论 -
软件架构师 第一部分 基础篇 第二章 模块化
什么是模块化?定义:可用于构建更复杂结构的一组标准化零件或独立单元中的一个我们使用模块化来描述代码的逻辑分组,该分组可以是面向对象语言中的一组类,也可以是结构化语言和函数式语言。大多数语言都提供了模块化的机制(Java中的包,.NET中的命名空间,等等)。开发人员通常使用模块作为相关代码分组在一起的一种方式。度量模块化的标准内聚性内聚性是指模块中各部分的关联程度。一个内聚的模块会将所有部分包装在一起,因为若将他们分成更小的部分,就需要通过通过模块之间的调用才能将其耦合在一起。——原创 2022-04-23 12:47:08 · 1083 阅读 · 0 评论 -
软件架构师 第一部分 基础篇 第一章 架构思维
架构思维重要的四个方面:(1)需要明白架构和设计之间的区别(2)需要同时具备技术的广度与深度(3)需要理解分析和协调各种解决方案和技术之间的权衡(4)需要了解业务驱动的重要性以及如何转化为架构的问题什么是架构思维?它是指用架构的眼光或视角来看待事物。软件架构软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地.原创 2022-04-22 15:18:19 · 124 阅读 · 0 评论