【系统分析与设计】lesson13

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

答:
软件架构:
- 是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。
- 在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。

软件框架:
- 指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。
- 是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务尅被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。

综上,可总结出,两者区别在于:
①框架落脚在“架”字上,可以理解成名词性的,是一个客观性的名词存在,如.Net Framework;而架构体现在“构”字上,理解成构造,是一个动词性的,是一系列动作发生的策略性体现。
②架构和框架在软件设计中是两个不同的研究领域。架构给出软件的整体结构和设计,可以被不同的框架和被不同的语言所实现;
而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体虽然它们有所不同,但却共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点。

2.以你的项目为案例,绘制三层架构模型图,细致到分区;

答:
【系统分析与设计】lesson13

结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
- 层次清晰,每个层次都提供了接口定义
- 降低了代码之间,层与层的依赖关系
- 复用性:利于各层代码逻辑的复用
- 安全性:接口设计需要符合对扩展开发,对修改关闭的原则,增强了系统的安全性

3.研究 VUE 与 Flux 状态管理的异同
答:
VUE的状态管理:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
即 把需要共享的变量全部存储在一个对象里面,然后将这个对象放在顶层组件中供其他组件使用。

Flux 的状态管理:状态集管理框架,由facebook创建,专门用来构建前端框架结构的框架,便于维护,用于安全考虑。它分为四层:view视图层 action层 dispatcher派发层 store仓库层。

总结:
①Vuex是对Flux的基础实现上进行改变,对仓库的管理更加明确
②Vuex把action细分成了action和mutation,分别应对异步场景和同步场景,由store自身充当dispatcher
③Vuex中使用mutation来替换reducer
④Vuex有自动渲染的功能,所以不需要更新