架构理解浅析
完美的设计不是包罗万象无所不有 , 而是完整自洽不可精简 。
软件工程的目的在于控制复杂性 , 而不是增加复杂性 。
当代系统需要很多的工程以及理解 , 但不需要太多艺术和主观猜测 , 这正是优秀架构师应当努力的方向 。
软件架构被描述为 : 在一个计算机系统中各个组件之间的 组合 、 交互 和 集成 。
架构的核心在于其包含的组件 和 类型 , 以及其最终映射成的二进制文件 , 相互的关系和依赖 , 使用场景和关键操作的工作流程 。
分解过程的成果就是一系列开发团队将会用到的详细说明书(Specification)
在分解系统的过程中确定下来的一个个组件表示了逻辑上的一个个功能 。 组件的设计 、接口 、职责 和 行为都是架构不可分割的一部分 , 但还存在着一个边界 , 将架构和实现分隔开
如果有些东西比你想象的更加容易善变 , 那么这部分将不再属于架构 。最终架构被精炼到真正重要的事情上。
架构师接受需求并设计系统分层 , 之后将逻辑上的组件映射到具体的技术和产品上。
积少成多 共享 交流 进步