系统分析与设计-第八次作业
Posted stary_yan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统分析与设计-第八次作业相关的知识,希望对你有一定的参考价值。
系统分析与设计-第八次作业
第一问
描述软件架构与框架之间的区别与联系。
框架是软件,架构不是软件。
框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务可以被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。
软件架构不是软件,而是关于软件如何设计的重要决策。软件架构决策涉及到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中;当然,引入软件框架之后,整个开发过程变成了“分两步走”,而架构决策往往会体现在框架之中。
架构一般针对议和行业或一类应用,是技术和应用的完美结合。而框架比较小,很多表现为中间件,框架一般是从技术角度解决同类问题,从技术的横切面来解决实际应用问题。
第二问
以你的项目为案例
- 绘制三层架构模型图,细致到分区
- 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
便利:
- 分层架构使得开发者可以在开发某一层时,忽略其他层的实现,从而提高实现效率。
- 层次之间解耦,从而层次的具体实现之间不会互相影响。
- 可以针对某一层的具体实现进行优化。
- 可以标准化每一层的接口,从而使得开发者可以并行开发。
- 扩展性更强,当升级优化时,层次之间只需要统一接口即可。
第三问
研究 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检测到数据变化自动渲染)
- vuex是专门为vue提供的状态管理工具
- 便于维护,保证安全,vue中引入vuex,解决状态之间共享的问题
- 多个组件调用一个状态,将原来组建与组件之间的状态传递改成组件与仓库之间的传递
- vuex适用于构建大型的项目,如果不是大型项目,使用vuex会使代码更加繁琐
- vuex核心:
- state:存放多个组件共享的状态(数据)
- mutations:存放更改state里状态的方法,用于变更状态,是唯一一个更改状态的属性
- getters:将state中某个状态进行过滤,然后获取新的状态,类似于vue中的computed
- actions:用于调用事件动作,并传递给mutation
- modules:主要用来拆分state
差异点
- 数据流的顺序不痛。
- 在Vuex中本身就内置State对象,对仓库的管理更加明确。
- Vuex有自动渲染的功能,所以不需要更新。
- Vuex多个组件调用一个状态,将原来组建与组件之间的状态传递改成组件与仓库之间的传递。
相同点
- 通过store来存储状态。
- 提供数据驱动、可组合搭建的视图组件。
以上是关于系统分析与设计-第八次作业的主要内容,如果未能解决你的问题,请参考以下文章