Homework8 of Software-System-Analysis-and-Design

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

  • 软件架构: 软件架构就是把系统分解为一些部件,描述这些部件的职责以及它们之间的协作行为。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。
  • 软件框架: 软件框架是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成的“半成品”,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。组件的外部可见属性是指其他组件对该组件所做的假设。
  • 两者区别: 软件框架是一种特殊的软件、是半成品。而软件架构不是软件,而是关于软件如何设计的重要策略与规范。
  • 两者联系: 架构设计是框架设计的指南,框架是架构落实到某种语言的确切代码的实现。架构可以以框架的形式进行实现,所以最终的软件架构可以借助已存在的可重用的框架来构造。

以你的项目为案例

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

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

    三层架构使得项目模块中的分工明确,让程序员能够专注于各自负责的模块而不影响其他模块的工作,大大提高了团队开发的效率,而且进行调试的时候可以较快速清楚地发现错误出现在那个模块,然后对其进行相应修改即可。

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

  • 两者区别:Flux 是一种前端状态管理的架构思想,专门用于解决软件的结构问题。而 VUE 的状态管理是通过 VUEX 来实现的,Vuex 又是基于 Flux 设计思想的一个状态管理框架。此外 VUE 的状态管理采用的是集中式存储管理,把所有组件的共享状态抽取出来,使用一个 store 来管理,每一个应用只能定义一个 store。而在 Flux 的状态管理中,可以定义有多个 store 来管理多个组件的状态。
  • 两者相同之处: Flux 和 VUE 都是通过 store 来存储状态,不允许组件直接修改属于 store 实例的状态,而应执行 action 来分发事件通知 store 去改变状态。对于数据的处理都是单向流动,包括传输、更新的动作也都是一致的。