人人都是架构师: 约束和原则

约束

时间和预算是约束的基本条件。

技术约束

技术清单,现有系统的互操作性(兼容性),目标部署平台,技术成熟度(保守),开源技术,供应商关系(阿里云,还是AWS),过去的失败,内部知识产权

人员约束

团队规模,技能,团队扩展的速度,咨询和培训,运维团队的技能

组织约束

企业战略的影响,办公室政治的影响

约束条件也是有优先级的。

原则

开发原则

编码标准和规范,自动化单元测试,静态分析工具

架构原则

1)分层策略,如UI组件里没有数据访问的逻辑

2)业务逻辑的位置:

3)高内聚、低耦合:解耦合可以推迟技术决策的时间

4) 无状态组件:可伸缩性的瓶颈

5)存储过程:爱恨交加

6)域模型:面向对象的丰富程度

7)http会话的使用程度:少用

8)始终一致和最终一致: 一般趋向于数据的最终一致性

9)不/使用ORM

10)依赖注入

时间: 2025-01-05 00:00:26

人人都是架构师: 约束和原则的相关文章

人人都是架构师

http://www.devdiv.com/blog-1895-57919.html 架构是什么?业界并没有权威的说法. 架构作为名词与结构相关,将产品分解为一系列组件.模块和交互.作为动词,是关于交流愿景和引入技术领导力的,简而言之,架构就是结构和愿景. 关于架构 应用程序的架构着重于软件和代码的组织,每个工程师的代码都是有架构的,只是自发和自觉的区别:系统架构描述从组件和服务到子系统等更高层次的抽象含软硬件,从代码结构到生产环境,与软件系统重要元素相关的所有东西就是软件架构.企业架构是一个截

人人都是架构师:面对风险

架构包含技术的选择,更多分层等于更高的复杂度,但是轻量级协同设计可以提高质量.最佳实践也是有使用条件限制的,面对架构要用于质疑. 系统的最大风险 外部接口是系统风险最高的部分之一. - 关键的外部接口有哪些?接口的技术定义是什么? - 哪些队列是通信组件?消息的格式是什么? - 同步还是异步?异步连接是否有保障?能否乱序传输? - 接口是否幂等?接口的可用性.性能.可伸缩性.安全性? - 接口的所有权属?版本的升级处理?服务级别? 系统的常见风险 除了外部接口之外,其他的常见风险如下: - 组件

人人都是架构师:非功能性需求

需求是最重要的事情,失去了功能,失去了客户的价值,软件将一无是处. 然而,功能的实现只是架构的开端. 架构首先来自需求,需求驱动架构,然后非功能性需求反映服务等级,面对客观环境的约束,自行引入的架构实现原则,是在高层次以上对需求.约束.和原则的理解和把握. 非功能性需求也可以称为质量属性,我所了解的非功能性需求主要有: 性能:响应时间或延迟 可伸缩性:更多用户,请求和数据的处理能力 可用性:99.9%意味着每天一分钟故障 安全性: 可以参考OWASP,open web application s

App架构师成长路线

点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书 --异步小编 架构师,软件技术领域一个高大上的名词,业界有言"人人都是产品经理",却很少听到"人人都是架构师".其本身涉及的复杂庞大的跨领域知识体系除外,对于架构一词,其实很难去完整地定义,我们也没必要过于纠结,就如我们为什么要登山,因为山在那里,执着前行,或许还未曾知晓路在何方,抑或你都不曾思考要去何方,但至少你已经在路上,while(!(succeed

每周荐书:我的世界、架构师、OpenStack(评论送书)

上周的荐书活动大家如此踊跃热情,看得出来在座各位都是爱书之人. 既然大家这么捧场,小编决定赠书数量翻倍,从这周开始每本书选出2位中奖用户. 先来公布一下上期中奖用户! Doem <Spring MVC实战> 工匠若水 <Python大战机器学习:数据科学家的第一个小目标> bit_kaki <Android移动性能实战> 中奖通知由CSDN官方发布站内消息,请关注消息通知~ 活动规则: 在文末评论里回复你对本周推荐图书的看法,或想要获得某本书的书名及理由 下期荐书更新时

.NET 高级架构师0002 架构师之路(1)---面向过程和面向对象

1.引言     机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到.但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年之后成为了架构师,有的人却还在不停地coding,只不过ctrl-c.ctrl-v用得更加纯熟了.在中国,编程人员最终的归途无外乎两条:一是转向技术管理,它的终点是CTO:二是继续深入,它的终点是首席架构师,成为CEO的人毕

如何从普通程序员晋升为架构师 面向过程编程OP和面向编程OO

引言 计算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到.但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年之后成为了架构师,有的人却还在不停地coding,只不过ctrl-c.ctrl-v用得更加纯熟了.在中国,编程人员最终的归途无外乎两条:一是转向技术管理,它的终点是CTO:二是继续深入,它的终点是首席架构师,成为CEO的人毕竟是少数.如

架构师多如过江之鲫,但你真的了解架构师这个工种吗(转自炼数成金)

在今天的互联网圈,可能随便遇到一个人递给你一张名片,title就是某某架构师.架构师多如过江之鲫,也正是眼下业内一个有趣的现象.对于架构师,你有什么看法? 当我第一次和InfoQ约写一个关于架构师的稿子时,我很是愣了几分钟,虽然我自已的职业生涯经历过几次不同的架构师岗位,也组建过架构师团队.但是,当我要将其落到纸面上时,却发现今天我所看到的在行业内的架构师实在是千差万别,甚至鱼龙混杂,在方向.技能.经验.学术.成就上的差异也犹如云泥之别,于是,今天我想和大家交流一下我对架构师的一些看法. 老司机

架构师修炼 II - 表达思维与驾驭方法论

开篇之前我想先说说当年开发的那点事儿:大约10年前吧,我还是一个程序员的时候经常都是遇到这样的项目开发流程: 解决方案 :满足客户目的和投标用的一堆文档(不少还是互联网上抄的) ,是以Word为主的纯文字. 投标完成和客户付订金后项目组成立,通常为(0至1)个项目经理或者叫项目负责人+(1至N)个程序员 的项目组模式 设计:由项目的头或者经验最足的成员参与编写设计.倒霉的时候我们会得到一份按照软件工程学的纯中文形式的设计想法(抱歉我只能这样来形容),而更遭的情况是得到一份完全看不懂的Rose文档