系统分析与设计 --- Homework 8 (lesson 13)

系统分析与设计 --- Homework 8 (lesson 13)

1 描述软件架构与框架之间的区别与联系

1.1 软件架构

软件架构是一个系统的草图,把系统分解为一些部件,描述这些部件的职责及它们之间的协作行为。 它决定了子系统之间的关系、分层与通讯方式、公共设计原则/风格、功能需求与非功能需求的优先级与取舍原则等。

1.2 软件框架

软件框架是特定语言和技术的架构应用解决方案,用于分离与业务无关的内容,让开发人员更专注于业务实现。软件框架是领域分析结果的软件化,是领域内最终应用的模板。

1.3 软件架构与框架的区别

软件架构不是软件,它是关于软件如何设计的重要策略。

软件框架是一种特殊的软件,是一个半成品,并不能提供完整的解决方案,而是为构建解决方案提供良好的基础。

1.4 软件架构与框架的联系

软件架构是问题的抽象解决方案 ,软件框架是一种或多种软件架构的组合的实现。

框架实现了重要的架构机制,架构指导了框架的构造。

2 以你的项目为案例

2.1 绘制三层架构模型图,细致到分区

系统分析与设计 --- Homework 8 (lesson 13)

2.2 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利

  • 对开发工作进行有效正确的分工,每个层、包的职责是清晰的,模块化并可扩展的。

  • 三层架构可以减少耦合度、增强内聚性、提高复用性。

  • 通过依赖估计项目产生的工作量,便于开发者制定合理的开发计划。

  • 各个层级之间可以通过有明确定义的接口实现

  • 如果层次间的接口不变,改变层次实现的话,不会影响其他层次的代码实现,这有利于开发工作的进行。

3 研究 VUE 与 Flux 状态管理的异同

3.1 VUE状态管理

Vuex是专门为vue提供的状态管理工具。为了实现全局状态管理,把原本简单纯粹的双向绑定以及操作方法都剥离开来,抽象成Vuex的state/mutation/action。

3.2 Flux

Flux 分为四层:view视图层、action层、dispatcher派发层、store仓库层。

  • 用户访问View;

  • View发出用户的Action;

  • Dispatcher收到Action,要求Store进行相应的更新;

  • Store更新后,发出一个”change”事件;

  • View收到change事件后,更新页面。

3.3 VUE与Flux的相同点

VUE与Flux数据流均是单向流,流动方向为 view → action → store → view。

3.4 VUE与Flux的不同点

Vuex拥有同步异步2种更新方式,而Flux不区分同步异步。

VUE是一个构建数据驱动的 web 界面的渐进式框架,而Flux是一种前端状态管理架构思想,专门解决软件的结构问题。