1.描述软件架构与框架之间的区别与联系
定义:
软件架构:
软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构描述的对象时直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致的描述组建之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。
软件框架:
软件框架是将代码放到一个看不到的容器中,规定架构。当时用的时候直接调用。他实现了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。他是领域分析结果的软件化,是领域内最终应用的模板,是特定语言和技术架构应用解决方案。
区别:
框架是软件,架构不是软件。
框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为构建解决方案提供良好的基础。它是一个半成品,是系统或子系统的半成品;框架中的服务被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。
架构不是软件,而是关于软件如何设计的重要策略。软件架构决策设计到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。引入软件架构之后,整个开发过程变成了“分两步走”,而架构决策往往会体现在框架之中。架构势必被代码所体现和遵循,但任何一段具体的代码都代表不了架构。
2.以你的项目为案例
·绘制三层架构模型图,细致到分区

·结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
三层架构允许将任务合理地分配,表示层、业务层、持久化层各自的需求由不同的成员各自同时实现,到最后汇总即可,不会出现一环依赖另一环的情况,大大提高了开发者的工作效率。并且较低层的复用性较高,为开发者减少了重新开发的麻烦以及代码量。接口设计需要也符合对扩展开发,对修改关闭的原则,增强了系统的安全性。
3.研究 VUE 与 Flux 状态管理的异同
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。VUE 没有使用 Dispatcher 来接收 Actions 、执行回调函数并通知 Store 改变状态,而是通过使用 Mutation 来改变状态。
Flux 状态管理,Flux 通过强制单向数据流来解决在MVC 中,一个 Model 可能使多个 Views 去通知 Controllers,并可能触发更多的 Model 更新,这样结果就会变得非常复杂的问题。
他们的相同点
VUE 和 Flux 的状态管理都是基于 Flux 思想的有效实现,通过对数据流进行严格管理来规范数据在 Web 引用中流动方式的框架。
他们的不同点
Vuex把action细分成了action和mutation,分别应对异步场景和同步场景,由store自身充当dispatcher(负责注册/分发action/(mutation)。VUE与Flux在状态管理上的差异主要体现在对数据流的管理方式不同。
Flux 通过强制数据的单向流动来解决业务数据复杂度的问题。它主要将一个应用分成四个部分:①View 视图层②Action(动作)视图层发出的消息(比如mouseClick)③Dispatcher(派发器)用来接收Actions、执行回调函数④Store(数据层)用来存放应用的状态,一旦发生变动,就提醒Views要更新页面。而VUE 的状态管理由vuex实现。