`

软件架构师应该知道的97件事

阅读更多

转载自:http://blog.csdn.net/seanbv/archive/2010/04/05/5451705.aspx

 

软件架构师应该知道的97件事:

 

客户需求重于个人简历 Nitin Borwankar

客户需求至上。沽名钓誉,事与愿违。

 

简化根本复杂性 ,消除偶发复杂性 Neal Ford

分析问题好比拨云见月、水落石出。

 

关键问题可能不是出在技术上 Mark Ramm

团队同心,其利断金。

 

以沟通为中心,坚持简明清晰的表达方式和开明的领导风格 Mark Richards

沟通应当言简意赅、详略得当,别拖泥 带水。

 

架构决定性能 Randy Stafford

种瓜得瓜,种豆得豆,架构设计也是一 样道理。

 

分析客户需求背后的意义 Einar Landre

抽丝剥茧,洞见症结。不要被表面需求 迷惑。

 

起立发言 Udi Dahan

起立发言效果更好。

 

故障终究会发生 Michael Nygard

应该提前设计预防措施,限制故障。

 

我们常常忽略了自己在谈判 Michael Nygard

工程师应该适时转换角色,学习谈判的 技巧。

 

量化需求 Keith Braithwaite

没有规矩,不成方圆。

 

一行代码比五百行架构说明更有价值 Allison Randal

可工作的代码才是目标,设计只是达成 目标手段。

 

不存在放之四海皆准的解决方案 Randy Stafford

软件世界没有万能*钥匙。

 

提前关注性能问题 Rebecca Parsons

尽早展开性能测试。

 

架构设计要平衡兼顾多方需求 Randy Stafford

平衡兼顾项目的技术需求和相关各方的业务需求。

 

草率提交任务是不负责任的行为   Niclas Nilsson

要设法杜绝开发人员草率提交任务的念头。

 

不要在一棵树上吊死   Keith Braithwaite

为客户提供多样化的解决方案。

 

业务目标至上 Dave Muirhead

技术决策不能脱离业务目标和现实条件的约束。

 

先确保解决方案简单可用,再考虑通用性和复用性   Kevlin Henney

 

架构师应该亲历亲为 John Davies

身先士卒才能赢得同事的信任。

 

持续集成 David Bartlett

 

避免进度调整失误 Norman Carnovale

不惜一切代价拒绝调整项目进度的要求。

 

取舍的艺术 Mark Richards

架构不可能满足所有需求。

 

打造数据库堡垒 Dan Chak

一开始就要定义好数据模型。

 

重视不确定性 Kevlin Henney

推迟决策,建设性地利用不确定性。

 

不要轻易放过不起眼的问题 Dave Quick

别忘了温水煮青蛙的故事。

 

让大家学会复用 Jeremy Meyer

重复利用已有资源,首先要改变大家的观念。

 

架构里没有大写的“I Dave Quick

 

变让自己变成自大狂。

 

使用 一千英尺高 的视图 Erik Doernenburg

选择合适的架构视图。

 

先尝试后决策 Erik Doernenburg

 

掌握业务领域知识 Mark Richards

 

程序设计是一种设计 Einar Landre

软件开发也分成设计和生产两个阶段。

 

让开发人员自己做主 Philip Nelson

 

时间改变一切 Philip Nelson

选择值得投入精力的工作,别跟以前的工作过不去。

 

设立软件架构专业为时尚早 Barry Hawkins

 

控制项目规模 Dave Quick

 

架构师不是演员,是管家 Barry Hawkins

 

别忘了你的工作责任。

 

软件架构的道德责任 Michael Nygard

架构师的决定会影响许多人,务必慎重。

 

摩天大厦不可伸缩 Michael Nygard

但软件可以。

 

混合开发的时代已经来临 Edward Garson

 

性能至上 Craig Russell

 

留意架构图里的空白区域 Michael Nygard

空白区域“充满”了各种软件和“硬件”。

 

学习软件专业的行话 Mark Richards

同行之间讲行话方便交流。

 

具体情境决定一切 Edward Garson

 

侏儒、精灵、巫师和国王 Evan Cofsky

开发团队不应该同质化。

 

向建筑师学习 Keith Braithwaite

借鉴建筑行业的经验。

 

避免重复 Niclas Nilsson

 

欢迎来到现实世界 Gregor Hohpe

现实世界比软件世界复杂。

 

仔细观察,别试图控制一切 Gregor Hohpe

 

架构师好比两面神 David Bartlett

架构师应该像两面神一样,眼观六路、耳听八方。

 

架构师应关注边界和接口  Einar Landre

寻找自然的边界,分而治之。

 

助力开发团队 Timothy High

优秀团队是成功的保障,要尽量助力开发团队。

 

记录决策理由 Timothy High

记录架构决策背后的理由,具有极高的投资回报价值。

 

挑战假设, 尤其是你自己的 Timothy High  

臆断是事情搞砸的主要根源。务必要确保软件基石坚实可靠。

 

分享知识和经验 Paul W. Homer

帮助周围的人不断改善,他们也会帮助我们发挥出全部的潜力。

 

模式病 Chad La Vigne

 

不要让一展设计模式功力的欲望,遮蔽了务实的真知。

 

不要滥用架构隐喻 David Ing

不要耽溺于系统隐喻之中,反让它拖了后腿。

 

关注应用程序的支持和维护 Mncedisi Kasper

应用程序的支持和维护,永远都不应该是事后才考虑的事情。

 

有舍才有得 Bill de hÓra

珍惜需要权衡的时机,远胜毫无约束和限制。

 

原则、公理和类比胜于个人意见和口味 ( Michael Harmer

 

可行走骨架 开始开发应用 ( Clint Shank

从“ 可行走骨架” 开始,增量培育系统成长

 

数据是核心( Paul W. Homer

从“数据是核心”这个角度去认识系统,能大大降低理解复杂度

 

确保简单问题有简单的解 Chad La Vigne

 

架构师首先是开发人员 Mike Brown

碰到麻烦时,架构师可不能只会干吹烟圈却束手无策。

 

根据投资回报率(ROI )进行决策( George Malamidis

 

一切软件系统都是遗留系统( Dave Anderson

软件很快便会过时,修改维护无可避免。

 

起码要有两个可选解决方案( Timothy High

 

理解变化的影响 ( Doug Crawford

清楚认识变化类型及其影响。

 

你不能不了解硬件( Kamal Wickramanayake

硬件容量规划,是和软件架构同等重要的事情。

 

现在走捷径,将来需付息( Scot Mcphee

及时还清技术债务。

 

不要追求“完美”,“足够好”就行( Greg Nyberg

避免过度设计。

 

小心“好主意” ( Greg Nyberg

 

内容为王 Zubin Wadia

 

对商业方,架构师要避免愤世嫉俗( Chad La Vigne

 

拉伸关键维度,发现设计中的不足( Stephen Jones

 

架构师要以自己的编程能力为依托( Mike Brown

 

命名要恰如其分( Sam Gardiner

弄清楚要做的究竟是什么。

 

稳定的问题可以获得高质量的解决方案( Sam Gardiner

 

天道酬勤( Brian Hart

真正做好那些看似简单的任务,坚守承诺。

 

对决策负责( Yi Zhou

 

弃聪明,求质朴( Eben Hewitt

 

精心选择有效技术,绝不轻易抛弃( Chad La Vigne

 

客户的客户才是你的客户!( Eben Hewitt

 

事物发展总会出人意料 ( Peter Gillard-Moss

设计是在不断变化的世界中持续进行探索试验的过程。

 

选择彼此间能和谐共处的框架 ( Eric Hawthorne

当心“无所不能”型的框架。

 

着重强调项目的商业价值( Yi Zhou

 

不仅仅只控制代码,也要控制数据 ( Chad La Vigne

 

偿还技术债务 ( Burkhardt Hufnagel

在速度和架构间进行权衡,保持平衡。

 

不要急于求解( Eben Hewitt

首先看看是否可以改变问题。

 

打造称手的系统( Keith Braithwaite

 

找到并留住富有激情的问题解决者 ( Chad La Vigne

 

软件并非真实的存在 ( Chad La Vigne

虚拟世界中的软件是柔韧可变的。

 

学习新语言 ( Burkhardt Hufnagel

防止沟通不畅和误解

 

分享到:
评论

相关推荐

    DeepSeek入门宝典:赋能开发者实战的高性能AI解决方案

    内容概要:本文档详细介绍了 DeepSeek 这一高效、经济的人工智能解决方案,旨在为企业端、产品端以及开发者提供深度技术支持。对于企业而言,DeepSeek 带来了显著的成本效益和生产效率提升;而对于具体的产品和服务,它增强了用户体验的质量。特别是针对开发者,文档深入浅出地讲解了如何利用 DeepSeek 实现自动化代码生成、改写等辅助开发功能,并且提供了具体的步骤指导以满足不同环境下的部署需求,包括直接通过官方API接入、本地私有化部署或借助云平台进行托管的方式。 适合人群:希望降低开发门槛,提高工作效率的软件工程师和技术团队。 使用场景及目标:开发者可以根据自身条件选择最适合自己的部署方案来整合 DeepSeek 技术,进而达到优化编码过程、减少人为错误的目的。 其他说明:文中还包括了许多实际操作的例子,如通过代码改写的实例来展示如何改进现有程序段落,还有详细的API使用指南帮助初学者快速上手DeepSeek。此外,还提供了大量外部参考资料链接以便进一步扩展知识和技能范围。

    lusted_3cd_01_0318.pdf

    lusted_3cd_01_0318

    开源AI工具下载——Cherry-Studio-1.0.1-MACOS arm64版

    Cherry Studio是一款支持多模型服务的 Windows/macOS GPT 客户端。通过与Ollama搭配,搭建个人本地AI大模型

    chromedriver-win64-136.0.7058.0.zip

    chromedriver-win64-136.0.7058.0.zip

    matlab程序代码项目案例:使用 Simulink 进行自适应 MPC 设计

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    mellitz_3cd_01_1116.pdf

    mellitz_3cd_01_1116

    基于MATLAB的牛顿迭代法实现

    基于MATLAB的牛顿迭代法实现

    steenman_01_0908.pdf

    steenman_01_0908

    [AB PLC例程源码][MMS_047737]System Time 64Bit Interpreted AOI.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    stone_3ck_01a_0518.pdf

    stone_3ck_01a_0518

    [AB PLC例程源码][MMS_041473]Input Time Stamping.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    lusted_3cd_01_1117.pdf

    lusted_3cd_01_1117

    2010-2023年 上市公司-管理层情感语调数据.zip

    管理层情感语调,或称为管理层语调,是一个在财务与会计领域中常用的概念,特别是在分析上市公司信息披露质量时。它主要指的是管理层在上市公司文字信息披露过程中,用词所体现出的情感倾向和可理解性。 本数据复刻了《财经研究》《中南财经政法大学学报》等顶级期刊的核心解释变量的做法。情感语调对企业未来盈余和未来绩效具有较强解释力、降低会计信息误定价、为分析师预测提供增量信息,而投资者也会对管理层情感语调做出积极反应。 情感语调1=(正面词汇数量-负面词汇数量)/词汇总量;数值越大,情感倾向越偏向正面积极。 情感语调2=(正面词汇数量-负面词汇数量)/(正面词汇数量+负面词汇数量);数值越大,情感倾向越偏向正面积极。 指标 证券代码、企业代码、年份、证券简称、行业代码、行业名称、正面词汇数量、负面词汇数量、词汇总量、句子数量、文字数量、情感语调1、情感语调2。

    mellitz_3cd_02_0318.pdf

    mellitz_3cd_02_0318

    moore_01_0909.pdf

    moore_01_0909

    lusted_3ck_02a_0119.pdf

    lusted_3ck_02a_0119

    pimpinella_3cd_01_0916.pdf

    pimpinella_3cd_01_0916

    [AB PLC例程源码][MMS_041392]Mill feed and Auxilary Control.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    li_3ck_03_0919.pdf

    li_3ck_03_0919

    ofelt_3cd_01_0716.pdf

    ofelt_3cd_01_0716

Global site tag (gtag.js) - Google Analytics