【架构】1-原理

参考:《软件架构:架构模式、特征及实践指南》

 

架构师看待事物的视角与开发人员是不同的--架构思维

架构思维:用架构的眼光或视角来看待事物。有四个重要的方面

1、要明白架构和设计之间的区别,了解如何与开发团队合作,进而使架构顺利落地

2、需要在具备技术广度同时,仍保持一定水平技术深度,支撑架构师觉察到其他人察觉不到的解决方案和可能性;

3、需要理解、分析和协调各种解决方案和技术之间的权衡

4、需要了解业务驱动的重要性及他们如何转化为架构问题的

 

传统架构和设计职责模型

  • 架构师:分析业务需求以提取架构和定义架构特征,选择适合该问题域的架构模式和架构风格,以及创建组件,并将上述产出交给开发团队;

  • 开发团队:负责每个组件创建类图、构建用户界面、开发和测试

     

 上图准确说明架构很难落地原因:穿越虚拟和实体转改的箭头是单向的。架构师决策常无法传达给开发团队,开发对架构改动也极少反馈给架构师。

为使架构落地,必须使架构师和开发团队之间形成双向的强关联:架构师和开发人员必须在同一虚拟团队中才能使架构落地。不仅促进双向频繁互动沟通,还促使架构师为开发提供指导和培训。

 

开发和架构师对技术的侧重不同:

  • 开发:拥有很深的技术深度;

  • 架构师:非常广的技术广度才能像架构师般思考,并以架构的角度看待事物。

作为架构师,技术广度比技术深度更重要。所以需要牺牲技术深度来提升技术广度。

 从开发(聚焦技术深度)转变为架构师(聚焦技术广度)意味关键的改变,通常会导致2个常见的问题:

1、架构师试图在多个领域都保持专业深度,结果无一成功,并且深陷其中;

2、专业知识没有持续更新,常使用过时技术做决策;

 

所谓的架构是不能通过Google得到的。

架构中没有对错,唯有取舍;

 

识别架构特征

架构特征:质量属性、非功能性能;如可配置性,可维护性等

架构特征的来源

1、领域问题中提取

 2、从需求中提取:

 

架构风格

反模式:Big Ball of Mud,大泥球,缺少可识别的架构结构

 

 

 

架构风格划分:

 

 

 

 

 

 

posted @   飞翔在天  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示