写点什么

如何才能称得上是一名架构师?

  • 2007-08-21
  • 本文字数:1260 字

    阅读完需:约 4 分钟

在 MSDN 开发者中心的博客上有一篇很有意思的文章,作者在文中讲述了在微软的文化(至少是其文化的一部分)中架构师的定义,带我们对软件架构师这个角色所经历的历史进行了回顾,并描绘了使架构师变得至关重要的驱动力。他从当架构师还是可有可无的那段时期开始讲起:

在不久以前,开发平台还是更加倾向于自我封闭,自给自足的。从健壮而复杂的环境——比如主流的 COBOL,到轻量级且易于理解的 xBase 语言,最为重要的技术决定早就已经有人帮你做好。对于软件项目而言,这是利益和障碍共存的。其中一项好处就是,当人们在某一点存在有共识的时候,就无需浪费时间来争论作这件事情的最佳方式是什么了。

文章的作者 Dagum 接着又对我们当前所使用的基本栈式架构的多样性进行了简单说明,以及这种灵活性最终所带来的代价:我们必须要有效的管理系统的复杂性。

由于面向组件的软件开发方式的出现,我们可以根据特定的问题来选择最佳的平台。但尽管这样,对很多程序员来说,切换到新的平台上进行开发也是件很头疼的事情。所以一个好的架构师的首要目标就是把新的平台和 API 的复杂性隐藏到更为简洁的结构之后,让它们更加注重于待解决问题(特别是一个业务问题)的领域,当然最重要的就是让普通的程序员容易理解掌握。 软件架构就是这样变成了以安全、及时、精确的方式开发商业解决方案的一条坦途。这条路完全是由技术决策铺成的,这些决策是至关紧要的。架构师必须要做出种种决策,来方便开发人员的工作。

和过去相比,我们现在不再是从厂商那里购买通用型的软件,而是根据要开发的商业解决方案来做出决策。

Dagum 解释说这给架构师的职责和定义带来了一场突如其来的变革,从以应用程序为中心,转到了更加侧重于企业化乃至以基础设施为关键着眼点的职责上,他还详述了进来新词满天飞的架构变革的趋势——SOA——背后的主要驱动力。他在讲述早期软件架构师的定义的时候,列举了以下四个最佳实践:

  • 设计模式(Design Patterns),从“四人帮”的那本设计模式书发起
  • 架构模式(Architecture Patterns),Dagun 以 Smalltalk 中使用的 MVC 模式来加以举例说明
  • 反模式(Anti-Patterns),它的名字就准确说明了它的含义
  • 框架,他以 ORM 映射工具和 MVC 支持框架来举例说明

随后,他又解释了随着架构师一职被人们正式认同,相应的角色和责任是如何被转变到一个更高的抽象层次上的,它们又是如何围绕下面三个范畴巩固起来的:

  • 基础架构师(Infrastructure Architect),主要以硬件 / 网络 / 操作系统这种平台的微架构为中心
  • 解决方案架构师(Solution Architect),他的职责要跨越软件 / 数据库 / 硬件的界限,来为特定的解决方案定义一个一栈式的架构
  • 企业架构师(Enterprise Architect),他更像是一个管理型的角色,他的责任和范围是覆盖整个组织的

最后,Dagum 以对未来的展望结束了全文。他还特别提到了 SOA,MDA,软件工厂,软件即服务(Software as a Service)和 Web 2.0。随着时间的推移,人们心目中对架构师定义也有了不同的理解,Dagum 在文中对这种变化及其背后的驱动力做了归纳。

查看英文原文: What is an Architect anyway?

2007-08-21 03:001222
用户头像

发布了 197 篇内容, 共 59.3 次阅读, 收获喜欢 21 次。

关注

评论

发布
暂无评论
发现更多内容

敏捷项目管理实践,如何正确使用故事点预估工作量?

万事ONES

项目管理 敏捷开发 ONES

七种方式教你在SpringBoot初始化时搞点事情

L

Java

[译] R8 优化: 枚举的 Ordinals 和 Names

Antway

6月日更

前端 JavaScript 获取字符串中重复次数最多的字符

编程三昧

JavaScript 大前端 数组 指针思想

老夫整理的1000行MySQL学习笔记,等待有缘人

Java架构师迁哥

阿里巴巴出品:完美杜绝备战一个月面试10分钟,让Java面试从此不再难

Java架构师迁哥

B 站游戏技术平台微服务通用网关实践

bilibili游戏技术

微服务 openresty APISIX 通用网关

做好项目管理,项目经理应当掌握哪些技能?

万事ONES

项目管理 ONES 项目经理

5分钟速读之Rust权威指南(三十)多线程

wzx

rust

内卷把我逼成了“扫地僧”把Github上所有面试题都整理了一遍,足足24W字!

Java架构师迁哥

CHM源码阅读(jdk1.7)

周周

极光开发者周刊【No.0625】

极光GPTBots-极光推送

JSON 数据格式该怎么使用

网络安全学海

json 网络安全 安全 信息漏洞 渗透测试

一矢多穿:多目标排序在爱奇艺短视频推荐中的应用

爱奇艺技术产品团队

推荐 模型 多目标

B站收藏 12.5w+!GitHub 标星 6.6k+!这份文档拯救了我薄弱的计算机基础

Java架构师迁哥

百度智能云以端边云全面智能化的天工AIoT平台2.0打造智能物联网解决方案

百度大脑

人工智能 物联网

北鲲云:浅谈云计算与高性能计算的区别与联系

北鲲云

压缩微指令长度方法

若尘

计算机组成原理 6月日更

敏捷项目管理是不是可以缩短项目周期,或者说“敏捷就是快”?

万事ONES

项目管理 敏捷开发 ONES 项目管理工具

高性能计算在人工智能(AI)智药中的应用

北鲲云

极光统一消息系统UMS新版上线!多维数据统计分析助推运营增长

极光GPTBots-极光推送

Vue源码学习 | 从源码中学习Javascript技巧

devpoint

JavaScript Vue 6月日更

阿里实录:一个优秀的分布式系统该如何去设计?

Java架构师迁哥

快手严厉整治违规商业内容:必须构建平台良性生态链

石头IT视角

AI云市场的繁盛之夏:AI花开果熟,百度抢先品尝第一口甜

脑极体

百度智能云在AI云服务市场四度夺魁!

百度大脑

人工智能 云服务

【得物技术】得物社区实践

得物技术

dubbo dubbo-go 社区 Go 语言 融合

带老弟做项目,凉了

程序员鱼皮

Java c++ Python JavaScript 技术

阿里内部不外传的50万字Java面试手册,首次开放,一天遭狂转10w次

Java架构师迁哥

矩阵分解推荐算法(十八)

Databri_AI

推荐算法 矩阵运算

【熬夜整理近百份大厂面经】2022校招提前批面经总结分享(腾讯、字节、阿里、百度、京东等招聘信息+必考点+简历书写)

学无止境的阿奔

c++ 程序员 面试 后端 秋招

如何才能称得上是一名架构师?_架构_Mark Figley_InfoQ精选文章