系统分析与设计 Lesson 13 作业

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

  • 软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。
  • 软件框架(software framework)是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。

区别:

  • 软件架构是一种设计,是软件系统的草图。
  • 软件框架是一种实现,即有限制性,又有支撑性。

联系:
软件框架常常会是某种软件架构的实现。

2. 以你的项目为案例

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

系统分析与设计 Lesson 13 作业_第1张图片
image.png

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

  • 关系分离、高级服务与低级服务分离、特定于应用的服务与一般性服务分离。
  • 减少耦合和依赖性、增强内聚性、提高潜在的复用性并且使概念更加清晰。
  • 很容易用新的实现替换原来的层次实现。例如对sql进行性能优化,并不会影响其他层的代码结构。有利于后期维护。
  • 有利于实现切面编程,减轻业务的复杂程度,加快编码效率。
  • 每个层次的定位明晰,业务处理的内容明确。依据层次,可以划分不同的分工。开发人员可以只关注整个结构的其中某一层。
  • 接口定义也提供了良好的可扩展性。例如数据库从mysql切换到oracle,只需要通过配置来切换。
  • 接口设计需要符合对扩展开发,对修改关闭的原则,增强了系统的安全性

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

Flux将一个应用分成四个部分。

  • View: 视图层
  • Action(动作):视图层发出的消息(比如mouseClick)
  • Dispatcher(派发器):用来接收Actions、执行回调函数
  • Store(数据层):用来存放应用的状态,一旦发生变动,就提醒Views要更新页面
系统分析与设计 Lesson 13 作业_第2张图片
image.png

Flux 的最大特点,就是数据的"单向流动"。

  1. 用户访问 View
  2. View 发出用户的 Action
  3. Dispatcher 收到 Action,要求 Store 进行相应的更新
  4. Store 更新后,发出一个"change"事件
  5. View 收到"change"事件后,更新页面

上面过程中,数据总是"单向流动",任何相邻的部分都不会发生数据的"双向流动"。这保证了流程的清晰。

Vuex实际上是Flux的一种特化实现,用来配合Vue本身的响应式机制。

你可能感兴趣的:(系统分析与设计 Lesson 13 作业)