系统分析与设计-第八次作业

Posted stary_yan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统分析与设计-第八次作业相关的知识,希望对你有一定的参考价值。

系统分析与设计-第八次作业

第一问

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

框架是软件,架构不是软件。

框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务可以被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。

软件架构不是软件,而是关于软件如何设计的重要决策。软件架构决策涉及到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中;当然,引入软件框架之后,整个开发过程变成了“分两步走”,而架构决策往往会体现在框架之中。

架构一般针对议和行业或一类应用,是技术和应用的完美结合。而框架比较小,很多表现为中间件,框架一般是从技术角度解决同类问题,从技术的横切面来解决实际应用问题。

第二问

以你的项目为案例

  • 绘制三层架构模型图,细致到分区
  • 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利

便利:

  1. 分层架构使得开发者可以在开发某一层时,忽略其他层的实现,从而提高实现效率。
  2. 层次之间解耦,从而层次的具体实现之间不会互相影响。
  3. 可以针对某一层的具体实现进行优化。
  4. 可以标准化每一层的接口,从而使得开发者可以并行开发。
  5. 扩展性更强,当升级优化时,层次之间只需要统一接口即可。

第三问

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

Flux

数据流传递图:

  • Action:包括所有的动作,比如点击按钮添加列表项,这就是一个action,在action文件中直接用dispatcher方法来分配这个动作 。action是用来暴露给外部进行调用
  • Store:store里面包含了应用的状态和逻辑,用来管理应用中不同的状态和逻辑。store中可以用数组来存储应用中所需要的数据,然后外部通过调用strore中的方法来获取到数据放到state中。
  • 在dispatcher中通过register来给每个action注册对应的store中的方法。
  • View:在view层通过调用action中的方法来调用这个动作

Vuex

数据流:
View调用store.commit提交对应的请求到Store中对应的mutation函数->store改变生成新的state(vue检测到数据变化自动渲染)

  1. vuex是专门为vue提供的状态管理工具
  2. 便于维护,保证安全,vue中引入vuex,解决状态之间共享的问题
  3. 多个组件调用一个状态,将原来组建与组件之间的状态传递改成组件与仓库之间的传递
  4. vuex适用于构建大型的项目,如果不是大型项目,使用vuex会使代码更加繁琐
  5. vuex核心:
    • state:存放多个组件共享的状态(数据)
    • mutations:存放更改state里状态的方法,用于变更状态,是唯一一个更改状态的属性
    • getters:将state中某个状态进行过滤,然后获取新的状态,类似于vue中的computed
    • actions:用于调用事件动作,并传递给mutation
    • modules:主要用来拆分state

差异点

  1. 数据流的顺序不痛。
  2. 在Vuex中本身就内置State对象,对仓库的管理更加明确。
  3. Vuex有自动渲染的功能,所以不需要更新。
  4. Vuex多个组件调用一个状态,将原来组建与组件之间的状态传递改成组件与仓库之间的传递。

相同点

  • 通过store来存储状态。
  • 提供数据驱动、可组合搭建的视图组件。

以上是关于系统分析与设计-第八次作业的主要内容,如果未能解决你的问题,请参考以下文章

OO第八次作业

第八次团队作业——系统设计和任务分配

第八次课后作业多态的一些问题

信号与系统2022春季学期第八次作业

OO第八次作业

第八次作业