0%

从程序员到架构师 学习

引子

架构风格

人才,以及合理的人才结构,是软件公司乃至软件业发展的关键
成才,并在企业中承担重要职责,是个人职业发展的关键

从程序员到架构师转型

一个软企发展的好坏,极大的取决于如下人才因素:

  • 员工素质
  • 人才结构
  • 员工职业技能的纵深积累
  • 员工职业技能的适时更新

要让软件企业适应发展,需要:

  • 定期分析和掌握本公司员工能力状况、人才结构状况
  • 员工专项技能的渐进提升(如架构技能,设计重构技能)
  • 研发骨干整体技能的跨越转型(例如 高级工程师向架构师,系统工程师和技术经理的转型)

提升个人技能,也是让企业获取人才的合适途径

本书价值

第一部分 基础概念
第二部分 实践过程
第三部分 模块划分

入门

需要阅读 基础概念篇 + 模块划分专题

  • 基础概念篇:讲解如何运用 逻辑视图+物理视图 设计架构
  • 模块划分篇:讲解模块划分的不同方法,讨论功能模块、分层架构、用例驱动的模块划分过程等内容

需要 体会 “分而治之” 和 “迭代式设计” 这两种关键思想,运用 “逻辑视图+物理视图” 设计一个系统的架构也就不那么难了

用 逻辑视图和物理视图 是从解决问题的不同角度看,从而关注一个解决问题的不同细节。相当于化大问题为小问题。

逻辑视图和物理视图 交替迭代式展开。逻辑视图逐步清晰,促进物理分布设计。反之亦然。

模块划分的四种方式

  • 水平分层
  • 垂直划分功能模块
  • 从用例到类、再到模块
  • 想到哪 切到哪

软件架构概念

组成派

软件架构关注分割和交互

可以将系统描述为计算机组件和组件之间的交互

决策派

软件架构师一系列有层次的决策

架构属于设计,但并非所有设计都属于架构。
架构涉及的决策,往往对整体质量、并行开发、适应变化等方面有着重大影响

  • 模块如何划分
  • 每个模块的职责为何
  • 每个模块的接口如何定义
  • 模块间采用何种交互机制
  • 开发技术如何选型
  • 如何满足约束和质量属性的需求
  • 如何适应可能发生的变化

欢迎关注我的其它发布渠道