写点什么

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

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

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

关注

评论

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

“互联网+”大赛之智慧校园赛题攻略:你的智慧校园,WeLink帮你来建

华为云开发者联盟

小程序 华为云 welink 智慧校园 “互联网+”大赛

源码级深挖AQS队列同步器

码农参上

AQS 锁机制 8月日更

Debian 10 安装 phpMyAdmin

Tao

MySQL 服务器 PHP-FPM MariaDB Debian

🏆【SpringBoot 技术专题】「Tomcat技术专区」用正确的姿势如何用外置tomcat配置及运行(Tomcat优化分析)

洛神灬殇

tomcat springboot 8月日更

Java Array 和 String 的转换

HoneyMoose

Apache Pulsar 里程碑简史:打造统一消息流平台与生态

Apache Pulsar

Apache Pulsar StreamNative

FastApi-10-Example

Python研究所

FastApi 8月日更

解决「停车难」,EMQ 映云科技数据接入方案在智慧停车平台中的应用

EMQ映云科技

大数据 物联网 移动互联网 智慧交通 emq

跟我读论文丨ACL2021 NER 模块化交互网络用于命名实体识别

华为云开发者联盟

自然语言处理 机器学习 ACL2021 NER 模块化交互网络 实体识别

MySQL 系列教程之(一)初识 MySQL

若尘

MySQL 8月日更

Go 学习笔记之 反射

架构精进之路

Go 语言 8月日更

融云为WICC2021“新视界”带来视频压缩技术新探索

融云 RongCloud

【LeetCode】二叉树的镜像Java题解

Albert

算法 LeetCode 8月日更

学习笔记:HTTP消息的响应码

姬翔

B轮融资逾2亿高瓴创投领投,最懂金融的RPA厂商金智维有何不凡之处?

王吉伟频道

RPA 金融科技 机器人流程自动化 做市机器人 金智维

校庆小程序开发案例与部署实践

CC同学

4种基于像素分割的文本检测算法

华为云开发者联盟

目标检测算法 文本检测 像素分割 文本检测算法 文本

大厂offer?拿来吧你!网易有道笔试编程题特辑

有道技术团队

招聘 笔试 #技术干货# 网易有道

Go协程并发之百万级并发「让我们一起Golang」

Regan Yue

高并发 协程 Go 语言 8月日更

WICC 2021技术分论坛 融云解析全球一体化通信网络架构

融云 RongCloud

手撸二叉树之二叉树的最近公共祖先

HelloWorld杰少

数据结构与算法 8月日更

Spring @Transactional 注解事务

Rubble

springboot 8月日更

3 条掏心掏肺的建议,新手学习编程必备,快上车!

沉默王二

编程

2021年8月国产数据库排行榜:TiDB稳榜首,达梦返前三,Kingbase进十强,各厂商加速布局云生态

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

主打年轻群体,2022款欧拉黑/白猫6.98万元起正式预售!

科技热闻

国家电网调控人工智能创新大赛开启 百度飞桨提供国产AI平台

百度大脑

人工智能 飞桨

老弟做了个网盘,炸了!

程序员鱼皮

Java c++ 系统设计 后端

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之EXCEL数据导出(十三)

crudapi

Vue crud crudapi qusar 数据导出

API纠错+翻译,就等您大展身手!

Geek_6cdeb6

云小课 | 网络知识一箩筐——NAT网关,让IP地址华丽变身,轻松实现内外网互通

华为云开发者联盟

私网NAT网关 NAT网关 公网NAT网关

Compose 中的 ConstraintLayout

Changing Lin

8月日更

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