分类

  • 逻辑架构
  • 逻辑架构关注的是功能,包含用户直接可见的功能,还有系统中隐含的功能
  • 开发架构
  • 为逻辑架构提供一个基础,能在其上面实现各种功能,比如.net framework、一些第三方开源项目
  • 运行架构
  • 保障系统能够顺利运行的架构
  • 物理架构
  • 物理架构关注的是系统、网络、服务器等基础设施
  • 数据架构
  • 数据架构关注的是数据持久化和存储层面的问题,也可能会包括数据的分布、复制、同步等问题

软件架构

定义

权衡各方面的得失,定制出一套规则,来指导团队中的每个人思想层面上的一致

好的架构的特点

  • 可扩展
  • 可快速迭代
  • 高可用
  • 高复用

目标

用最小的人力成本来满足构建和维护系统的需求,所以一个好的架构如果每次开发或维护都能维持一个低成本的状态,那么这个架构就是好的架构。