写点什么

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

  • 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:001029
用户头像

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

关注

评论

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

活动报名|AutoMQ x 阿里云云原生创新论坛(2024.03.09)见证“新一代云原生 Kafka ”重磅发布!

AutoMQ

kafka 阿里云 云原生 论坛

小程序管理平台,企业研发效能提升利器

FinFish

小程序管理平台 小程序管理 小程序开发平台

UIDiff检测技术解密:为何对UI自动化测试至关重要?

测吧(北京)科技有限公司

测试

深度学习驱动的遍历动作推荐:提高UI自动化测试效率的创新方法

测吧(北京)科技有限公司

测试

【干货】鞋服品牌商品部如何制定合理的售罄目标

第七在线

【鸿蒙开发】在ArkTS线程中通过napi创建的C++线程返回处理结果

贺公子之数据科学与艺术

和鲸科技受邀参与湖南省气象信息中心开展人工智能研究型业务支撑平台学术交流

ModelWhale

人工智能 机器学习 大数据 气象 地球科学

ChatGPT 新增朗读功能;微软 Win11 鼠标悬停自动打开 Copilot 丨 RTE 开发者日报 Vol.158

声网

喜报|3DCAT成为国内首批适配Vision Pro内容开发者

3DCAT实时渲染

实时云渲染

语义化与自动化——第三代指标平台两大核心能力详解(内含Q&A)

Aloudata

ETL 指标

简单、透明、安全、高度集成!龙蜥可信 SBOM 能力探索与实践

OpenAnolis小助手

开源 安全 操作系统 龙蜥社区 SBOM

GreptimeDB v0.7 发布 — 全面支持云原生监控场景

Greptime 格睿科技

数据库 开源 云原生 版本 时序数据

LLM 大模型框架 LangChain 可观测性最佳实践

观测云

LLM #LangChain

无参照模型预测技术:UI自动化测试的新思路与应用

测吧(北京)科技有限公司

测试

互联网时代下体育直播平台的四大发展机遇与盈利创新

软件开发-梦幻运营部

搭个ChatGPT算法模型,离Java程序员有多远?

京东科技开发者

加密货币牛市会持续多久?

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

15款顶级Bug管理工具全面评测

爱吃小舅的鱼

缺陷管理 bug管理 缺陷管理工具

软件测试学习笔记丨JMeter性能测试工具 - 参数化介绍

测试人

软件测试

安全SCDN有什么效果

德迅云安全杨德俊

Shopify 性能优化探索与落地

飞书深诺技术团队

性能优化 前端 建站 Shopify

【教程】uni-app iOS打包解决profile文件与私钥证书不匹配问题

最新推荐!2024年支持私有化的文档管理系统大盘点

爱吃小舅的鱼

文档管理 企业文档管理工具 文档管理软件

NFTScan :什么是 ERC-404?深入解读 NFT 协议的未来

NFT Research

ERC20 NFT ERC721 NFTScan

StarkNet新手入门教程:教你用bitget 钱包入门

股市老人

已解决com.netflix.hystrix.exception.HystrixRuntimeException ERROR SimpleMessage Hystrix的正确解决方法,亲测有效!!!

小明Java问道之路

2024上海国际智能机器人展览会

AIOTE智博会

工业机器人展会 机器人展

架构设计常见原则

凌晞

架构设计 架构设计原则

面试官:说说微服务灰度发布的底层实现?

王磊

Java 面试题

融合低代码平台,实现政企业务快速高效加载

鲸品堂

低代码 企业号 3 月 PK 榜

上云还是下云,最大挑战是什么?对话章文嵩、毕玄、王小瑞

AutoMQ

阿里云 云原生 上云 云上架构

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