系统分析与设计homework8

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

    • 软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构在较高的层次上把系统分解为一些部件,并描述这些部件的职责及它们之间的协作行为。
    • 框架是特定语言和技术的架构应用解决方案
      框架是具体语言和技术相关的。
      框架一般包含一种或多种架构的组合的实现。
      框架是集成了你的代码和多种第三方解决方案的工具,让你聚焦业务逻辑代码而不是技术实现。
    • 区别:软件架构只是对系统的分解与描述,不是一个软件。而框架包含代码,它是软件的半成品,帮助开发者更容易地实现遵循某种架构的软件。
    • 联系:框架是特定语言和技术的架构应用解决方案。软件架构指导软件框架的设计,而软件框架是一种或多种架构的组合的实现。
  2. 以你的项目为案例

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


      系统分析与设计homework8_第1张图片
      fastchat 即时通讯工具
    2. 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
      • 模块的划分使得整个系统的结构更清晰、易理解。
      • 可以根据层次来分工,开发人员可以只关注自己的这一层,加快编码效率。
      • 三个层次之间相互解耦,通过API进行通信,负责不同层次的同学可以独立开发、独立测试。
      • 每个层次内部又划分为多个子模块,使得代码更加整洁。单一职责的思想使得debug更加容易。
      • 得益于模块化的思想,软件的扩展性强,升级优化更加方便。
  3. 研究 VUE 与 Flux 状态管理的异同
    Vuex借鉴了Flux的思想。两者都基于数据驱动(单项数据流)的思想:


    系统分析与设计homework8_第2张图片

两者都提议将多个“修改”封装在一个“操作”中,应用通过提交“操作”来改变应用状态,让状态的变化保持一致性、更容易debug。

其中一个不同的地方是:Vue把组件的共享状态抽取出来,以一个全局单例模式管理。在这种模式下,我们的组件树构成了一个巨大的“视图”,不管在树的哪个位置,任何组件都能获取状态或者触发行为!

另一个区别是:Vuex是一个专门为Vue提供支持的包,为Vue的响应式特性和Devtool提供了支持。而Flux是Facebook提出的客户端架构模式,可以用于各种前端应用。

你可能感兴趣的:(系统分析与设计homework8)