分类
- 逻辑架构
- 逻辑架构关注的是功能,包含用户直接可见的功能,还有系统中隐含的功能
- 开发架构
- 为逻辑架构提供一个基础,能在其上面实现各种功能,比如.net framework、一些第三方开源项目
- 运行架构
- 保障系统能够顺利运行的架构
- 物理架构
- 物理架构关注的是系统、网络、服务器等基础设施
- 数据架构
- 数据架构关注的是数据持久化和存储层面的问题,也可能会包括数据的分布、复制、同步等问题
软件架构
定义
权衡各方面的得失,定制出一套规则,来指导团队中的每个人思想层面上的一致
好的架构的特点
- 可扩展
- 可快速迭代
- 高可用
- 高复用
目标
用最小的人力成本来满足构建和维护系统的需求,所以一个好的架构如果每次开发或维护都能维持一个低成本的状态,那么这个架构就是好的架构。