谈谈架构

Architect, 中文译作架构师。先前用于建筑的设计,后来逐渐用于组织管理架构,再后来用于软件架构设计。

架构的重用性

房屋若没有建筑架构,红砖,水泥,绿瓦堆在一起,很容易再建造过程中,产生房屋变形,甚至房屋坍塌。笔者的邻居因拆迁可得更多的补偿,盲目增盖房屋,结果导致房屋坍塌,造成屋毁人亡。

组织没有架够,人员都是一堆散沙,没有有效的分工协作,人越多,组织越乱。所谓韩信带兵,多多益善,就是有效的组织管理,有效的架构设计。

软件的架构设计,就像韩信带兵一样,每个接口就是一个士兵,每个库就是战斗单元,实现的业务功能就是一场战斗。兵精将广,则会场场战斗必胜。架构师就是战役的指挥官,派兵布阵很重要。浅显点如象棋,红黑共32颗棋子,开始有固定的阵势,后续的变化无穷。深奥点如围棋,白黑共361颗棋子,开始就没有固定的模式,后续变化更是深不可测。

架构设计好了,可以支撑无穷变化而不倒。架构师往往高瞻远瞩,好的架构,在数年间依然可以从容应对需求的多变。所谓高处不胜寒,所谓深处高处不为人所理解,是因为,好的架构往往短时间内看不出好,看不出坏,不为众人知,不为众人理解。

当代科技,来源于西方。思想来源于西方,理论根基来源于西方,方法论来源于西方,理论推理来源于西方,从而衍生出的工具,市场生态都是西方在主导。西方主张辩论和公开,辩论和公开的生活方式一直充斥了当代科技发展路线中。当Stallman,Eric Raymond开启了Free Software,Open Software大门后,软件的发展日新月异,软件生态也越来越好。几岁龄童(著名黑客XX),可以尝试自己的想法,摸索试探网络世界的秘密,一不小心从了黑客,从反面促进了软件的发展。白首老翁(一位法国医生),不满摄像头没有firmware,亲手编码,让摄像头为大众所用。软件方便了大众,让众人的思想,可以从容的展现,可以为大家评论,可以让思考者,解决衣食之忧。思想若没有经过精细排列部署,终归是夜空中点点星辰,若想让星辰为他人所记住,为他人服务,就需要将星辰组合,将天球化成一个个星座。架构的工作就是指点星空,划空而制。

软件架构,需要对软件模块,甚至是每个接口了如指掌,同时也需要对业务需求熟悉并界定清晰。
软件方面,对单机系统而言,需要关注系统,中间间,上层逻辑,对分布式系统而言,需要关注系统接口,协议,RPC,时间同步,网络时延。

产品架构,需要对产品的功能,产品的软件,硬件,机械结构件,需要有清晰的了解。
硬件的基础是芯片,芯片为西方锁主导,短期内我们做不了太多。软件的思潮,则由西方在硬件,编程语言,编译器,操作系统,开发模式,算法等方面引领。我们强大的是产品需求,我们的用户多,类型多样,产品架构是我们在引领。

架构的表现

图形化的信息,较为大众接受,一页纸的说明,一幅图的逻辑,更能为沟通双方共同接受。
架构师,初期是规划蓝图,而后是在实践和修正,后期就是思想传播。因而架构师外功是画图的能力和沟通的能力,内功是思维里掌握的战斗单元和缜密的逻辑。

就画图而言,方框和箭头足以。就沟通而言,结论和论据不够,最重要的是信任和共同的语言。就战斗单元而言,掌握的软件知识越丰富,越好。就逻辑缜密而言,需要经受住three legs & five whys的询问。

备注

后续还有,分布式架构设计,嵌入式系统架构设计的文章捧出。

谈谈架构 -- architect相关推荐

  1. 架构设计(1)-谈谈架构

    架构设计学习思维导图: 架构设计系列主要的ADM(架构开发方法)主要基于TOGAF9或者TOGAF9.1来论述.这是个人学习实践和总结笔记,专注并不断积累和更新,努力精进自己.个人拙见,仅供参考. 1 ...

  2. 架构师之路(三)谈谈架构师的职责

    很早就想写一些架构师系列的文章了,因为自己做架构设计也有几年了,有得有失,想以此文来谈谈自己对架构师职责的认识.架构师这个话题很大,从技术选型到架构选型,从业务建模到系统建模,无一不是在做着决策. 一 ...

  3. 谈谈架构的本质和架构分类

    一. 什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解.此君说的架构和彼君理解的架构未必是一回事.因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这 ...

  4. 谈谈架构设计的八条原则

    架构设计不像数学公式或者物理定律,有章可循.很多时候,它是设计者在各种设想.各种顾虑的权衡中做出的最符合需求的智慧输出.但是,一些好的架构思路和原则,可以帮助设计者在决策时少走弯路,更靠近需求.在此跟 ...

  5. 谈谈架构经验-单据履约监控系统

    what 面对"单据种类多.状态机制多.状态间存在时效差异.时效监控缺失或各自实现"这样的背景,需要一个统一的解决方案,我称其为单据时效监控系统. 简述为"从单据类型,单 ...

  6. 关于数据仓库的架构及3大类组件工具选型

    关于数据仓库的概念.原理.建设方法论,网上已经有很多内容了,也有很多的经典书籍,本文更想聊聊企业数据仓库项目上的架构和组件工具问题. 先来谈谈架构. 企业数据仓库架构 关于数据仓库,有一种简单粗暴的说 ...

  7. DDD战略篇:架构设计的响应力

    当敏捷宣言的17位签署者在2001年喊出"响应变化胜于遵循计划"这样的口号时,鲜有组织会真正把这句话当回事儿,甚至很多经验丰富的管理者会认为好的计划是成功的一半,遵循计划就是另外一 ...

  8. python爬虫架构师之路_一位资深 架构师大牛给予Java技术提升的学习路线建议

    一位资深 架构师大牛给予Java技术提升的学习路线建议 对于工作多年的程序员而言,日后的职业发展无非是继续专精技术.转型管理和晋升架构师三种选择. 架构师在一家公司有多重要.优秀架构师需要具备怎样的素 ...

  9. 面向微服务架构与传统架构、SOA对比,以及云化对比

    谈微服务,首先要谈"Monolithic架构",例如网上是这样说的"网上对Microservice进行介绍的文章常常以Monolith作为开头,我也不会例外.原因是,知道 ...

  10. 系统架构设计师-软件水平考试(高级)-论文-架构风格

    系统架构设计师-论文-架构风格 前言: 这三个月由于工作等方面的事情,所以没有更新博客. 其实我是有做许多总结的.但是写博客,就需要整理格式,好麻烦啊.... 不过接下来,我会慢慢整理出来的,包括ja ...

最新文章

  1. 如何使用MatPlotLib绘制出具有两个 Y 轴的曲线图?
  2. 【转载】flash时间轴中变量的作用域
  3. Delphi 多文件拖放获取路径示例
  4. linux中popen汉字乱码,Python中使用subprocess.Popen返回值乱码解决方案
  5. PWM波形的simulink仿真
  6. lucene学习5----Field类及辅助类说明
  7. python读取data_Python批处理数据读取方法的细节:dataloader,Pytorch,批量,详解,DataLoader...
  8. oracle11g重建undo,Oracle11gORA-03113故障,重建控制文件
  9. System.IO.Path 操作
  10. 面试题:Java多线程
  11. 小程序后台开发sdk
  12. SWFAddress实现Flex深度链接(不同模块具有不同的URL)
  13. Dell 灵越7370 装机过程遇到硬盘枷锁 bitlocker锁解决方法
  14. 调用百度文字识别API
  15. Gstreamer - 位置跟踪和定位
  16. 百慕大永中科技来华创业蒙难记
  17. 整理的一些建站中常见的问题与解决代码
  18. 大型游戏行业网络技术解决方案
  19. 红外对管应该如何选择比较好
  20. vscode预览.mad文件

热门文章

  1. opencv (五十二)Shi-Tomas角点检测
  2. iOS 15 正式版发布,210 条改进大汇总
  3. Opencv -- 13像素值统计及平均值和方差的意义
  4. 动易百度快照劫持,百度快照被劫持了怎么办?
  5. 零基础建站教程,教你最快速度做好企业网站
  6. 管理变量、机密和事实
  7. 项目实训--Unity多人游戏开发(九、PUN2学习记录)
  8. python游戏猜拳_Python之猜拳游戏
  9. CHD-5.3.6集群安装
  10. 上云十年:阿里云的奇幻漂流