架构到底是指什么

笔记

重点是澄清几个架构设计相关的概念。

  1. 系统

    由一群有关联的个体组成,按照某种规则运作,能完成个别元件所不单独完成的工作的群体。

    重点:

    • 关联:系统是由一群有关联的个体组成的,没有关联的个体堆在一起不能构成一个系统。
    • 规则:系统内的个体需要按照制定的规则运作。规则规定了系统内个体分工和协作的方式。
    • 能力:系统具有个体所不具备的能力。产生了新的能力。
  2. 子系统

    子系统也是由一群有关联的个体组成的系统。是更大的系统中的一部分。

  3. 模块

    软件模块(Module)是一套一致而互相有紧密关联的软件组织。包含了程序和数据结构两部分。模块有接口,模块间可以互相调用。

    重点:

    • 从逻辑或者业务功能的角度拆分系统,得到的单元就是“模块”。模块具有特定的接口,通过接口对外提供功能。划分模块的主要目的是职责分离。
  4. 组件

    自包含的、可编程的、可重用的的软件单元。软件组件可以很容易被用于组装应用程序中。

    重点:

    • 从物理的角度拆分系统,得到的单元就是“组件”。组件可以看做是零件。主要目的是复用,被继承到其他的组件中。是一个物理的概念。具有“独立可替换”的特点。
  5. 框架(framework)

    为了实现某个业界标准或完成特定基本任务的软件组件规范。也指为了实现某个软件组件规范时,提供规范要求只基础功能的软件产品。

  6. 架构(Architecture)

    软件架构的“基础结构”,创造这些基础结构的准则,以及对这些结构的描述。

    重点:

    • 架构关注的是“结构”。
    • 可以从很多的角度或维度来划分结构。所以就有了UML里的多种视图。
    • 李老师修改架构的定义为:软件系统的顶层结构。

理解

你可能感兴趣的:(架构到底是指什么)