优秀架构师掌握的架构思维
发布时间
阅读量:
阅读量
如果说架构的本质是管理复杂性的话, 那么抽象化、层次化、 divide-and-conquer 和演进思维 是我们工程师/架构师应对与管理复杂性的四项基本工具.
1、抽象思维
抽象其实是这样定义的:对某种事物进行简化表示或描述的过程,抽象让我们关注要素,隐藏额外细节。
在系统架构和设计中,抽象帮助我们从大处着眼(get our mind about big picture),隐藏细节(temporarily hide details)。抽象能力的强弱,直接决定我们所能解决问题的复杂性和规模大小。
软件系统架构设计和小朋友搭积木无本质差异,只是解决的问题域和规模不同罢了。架构师先要在大脑中形成抽象概念,然后是子模块分解,然后是依次实现子模块,最后将子模块拼装组合起来,形成最后系统。所以我常说编程和架构设计就是搭积木,优秀的架构师受职业习惯影响,眼睛里看到的世界都是模块化拼装组合式的。
除了建立层次结构以外, 分层也是应对和管理复杂性的重要思维方式. 如上图所示, 为了构建一个复杂的系统, 我们将整个系统划分为多个层级. 每个层级专注于解决特定领域的问题, 并向上方提供支持. 其中一些层级是垂直方向的, 它们贯穿于其他层级之中. 这些管理层被称为共享层面. 分析问题时, 从另一个角度来看待问题时, 将整个体系分解为多个层层化模块.
3、分治思维
分拆处理(
全部评论 (0)
还没有任何评论哟~
