架构 -- 概念

系统 / 子系统

  1. 系统:由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体(体现系统能力
  2. 子系统:由一群有关联的个体所组成的系统,多半会是更大系统中的一部分
  3. 子系统的定义和系统的定义是一致的,只是观察的角度有差异

模块 / 组件

  1. 模块(Module)和组件(Component)都是系统的组成部分,只是从不同的角度来拆分系统
  2. 逻辑角度来拆分系统,得到的单元是模块;从物理角度来拆分系统,得到的单元是组件
  3. 划分模块的主要目的是职责分离,划分组件的主要目的是单元复用
  4. 样例:学生信息管理系统
    • 逻辑角度:登录注册模块、个人信息模块、个人成绩模块
    • 物理角度:Nginx、Tomcat、MySQL

框架 / 架构

  1. 框架(Framework
    • 框架是组件规范,如MVC是常见的开发规范
    • 框架是提供基础功能的产品,如Spring MVC是MVC开发框架
      • 除了满足MVC的规范外,Spring还提供了很多基础功能(Spring Security,Spring JPA等)
  2. 架构(Architecture
    • 架构是软件系统的基础结构,创建这些基础结构的准则,以及对这些结构的描述
    • 但基础结构这个概念,并没有明确说从什么角度来分解,采用不同的角度或者维度,可以将系统划分为不同的结构
  3. 框架关注的是规范,而架构关注的是结构
0%