第七章 架构透视

架构师通常是技术与业务的平衡点,架构师应该要掌握架构透视的能力。
透视是后退一步并从许多不同的立足点观察架构的能力。

架构原则

  • 最少意外原则:不应该让有一定知识层次的人第一次遇到系统元素感到意外。适用于用户界面可视化。
  • 最少知识原则(迪米特法则):降低独立的功能之间的耦合度,对于高度相关的功能则应该提高内聚度。(每个功能要更好地完成一件事)
  • 最小工作量原则(齐普夫法则):同过最小的工作量解决手头的问题,那么他解决总问题的工作量也是最少的。
  • 机会成本原则:寻求在未来确定如何以最有成本效益的方式构建系统。(更加关注系统的变化趋势)
  • 单一职责原则:系统的模块或者功能应该只有一个职责。
  • 精简原则(奥卡姆剃刀或者KISS):消除不必要的功能,完成某项任务必要的最小假定。(可以参考二八法则)
  • 最后责任时刻原则(延迟成本):等到必须的时候才做决定,同时进行原型化和概念验证 ,缓解等待风险
  • 反馈原则:利用反馈循环帮助提供决策的导航结构,从而为下一步决策提供帮助。

架构的关注点

可用性:只系统需要达到什么样的可用水平。(简单地说用多久会停机、恢复要多久)
可伸缩性:系统应对响应的能力(通常资源达到临界时,系统要主动通知管理者 负载均衡等)
可扩展性:只系统添加或者更改组件的能力。
可重复性:系统的业务一致性的能力。 业务前后处理数据是一致的。
兼容性:在系统中引入非破坏性更改的能力,或者在旧功能仍然可以使用的能力。
可持续性:系统不会因为意外混沌状态的更改,保持架构的相关性。
安全性、容灾性、业务持续性和开源许可证
第三方集成

架构师的软实力之架构透视相关推荐

  1. 架构师的软实力之管理

    第五章 管理 坏消息:架构师通常被视为"管理员"的一员. 架构师的职责:(架构要平衡 业务需求和技术需求 某种意义上是开发人员与与销售人员沟通的桥梁) 人才培养.技能加强.技术卓越 ...

  2. 架构师的软实力之概念化

    第三章 概念化(建造师的梦想是设计师) 架构师通常是商业世界和技术之间的主要联系之一. 概念化,指的是通过构思,将用户的想法概念化为可以实现的事物. 概念的形成 当我们进入一个新的领域,它们有着与众不 ...

  3. 架构师的软实力之发现

    第二章 发现 作为架构师,应该抓住一切机会与客户会面,双方都需要交换极其关键的信息. 2.1了解客户 a.与销售.市场及新产品开发部门建立合作关系 b.与客户会谈 与客户访问的准备: 是否需要保密协议 ...

  4. 架构师的软实力之合作关系

    项目能力-->技术能力-->想象力能力,前者都是后者的基础. 第一部分:项目能力 第一章 :合作关系 合作关系是确立了相互信任的一种关系,这是即使面对对手也要一起追求某个目标的意愿. 作为 ...

  5. 架构师的软实力之技术创新、企业执行

    第三部分 想象力技能 第十章 技术创新 技术创新指的是,以业务为中心的方式识别.评估和注入颠覆性新技术的能力. 技术创新要求我们把握趋势的变化,可以通过以下方式了解架构趋势的变化: 行业标准 大学的研 ...

  6. 架构师的软实力之治理、技术诀窍

    第八章 治理 治理是对提供设计与开发边界的项目和平台的监控,这反映了架构师软件项目治理和采购的能力. 治理的目的: 帮助识别和缓解风险,帮助降低成本.帮助促进业务部门对系统的利用. 治理原则: 避免供 ...

  7. 架构师的软实力之估算

    第四章 估算 估算要注意以下的因素: 项目的成本 项目何时交付 与项目关联的风险 项目的潜在的相互依赖性 项目的未知领域 可能有什么备选方法 关于项目做了何种假设 架构方法的关键要素包括: 项目相关背 ...

  8. 架构师的软实力之平台开发

    第二部分 技术能力第六章 平台开发平台开发是实现了多个应用程序或者解决方案共用的功能. 平台开发的三个关键因素: 功能:指的是平台交付的功能性,这从本质上告诉你平台能做什么. 生态系统:这是平台的运营 ...

  9. 系统架构师-基础到企业应用架构-表现层

    一.前言 最近也许是由于假期的原因,我发布的文章的速度变慢了,对大家说下抱歉,这个系列的确我很难写,感谢大家对我的支持和关注,的确我在发布后得到大家的支 持和认可,让我有了更多的动力,之前发布的有些内 ...

最新文章

  1. 送一款最新版AirPods Pro
  2. 【Android 逆向】应用数据目录 ( Android 应用数据目录 /data/data/package.name | 存放 SharedPreference 的 shared_pref 目录 )
  3. 关键字_Java Volatile关键字
  4. linux如何判断网线插入_【干货】配线架的连接方式有哪几种?配线架与交换机如何连接?...
  5. Predicate函数式接口
  6. 三年Java开发经验,必须要掌握的知识技能树有哪些?
  7. C# Socket 简易的图片传输
  8. bll调用mysql存储过程_SQL Server的存储过程或自定义函数调用Com组件
  9. 关于解决vivado error:add_1 must be in range [-1,DEPTH-1] 问题
  10. 我的USB DAC改装(MOD)流程(上)
  11. 联筑赚赋能传统模架产业链数字化 促进产业发展互利共赢
  12. win10系统怎么做电影服务器,瞧瞧Win10是如何将电影推送到电视机上的
  13. 用python画小仓鼠教程_彩铅画教程:教你画小仓鼠
  14. rippled网络-XRP常用接口使用
  15. 如何使用origin跨工作簿进行公式计算
  16. 使用python计算复信号的DFT
  17. 投票点赞链接制作投票链接在线制作投票图文链接制作点赞
  18. java image功能_使用JAI扩展Java Image的功能 | 学步园
  19. 【软件工程理论与实践】Homework(一.2,3)
  20. s8 android10,三星S8和Note 8不会获得Android 10升级

热门文章

  1. 华为p50pro怎刷机华为p50怎么解锁华为p50pro能刷机吗华为p50强制刷机华为p50解账户锁华为P50pro解账户锁华为p50pro解锁账户华为p50怎么解锁帐号华为p50忘记解锁密码怎么办
  2. rebar3使用本地依赖
  3. 怎样在线将视频文件转二维码?如何使用视频二维码生成器?
  4. 校园版失物招领小程序设计模板
  5. 【Python3 爬虫学习笔记】用PySpider爬取虎嗅网并进行文章分析
  6. 推特开发者账号 elevated academic学术权限申请
  7. android socket-udp通信
  8. 非参数估计---直方图法、Kn近邻估计法、Parzen窗法
  9. simplis汉化包_Simtrix.simplis中文教程
  10. 使用Java将文本复制到剪贴板