1.描述软件架构与框架之间的区别与联系
答:
软件架构:软件架构是关于软件系统组织的重要决定的集合,把系统分解为一些部件,描述这些部件的职责及它们之间的协作行为。
软件框架:框架是特定语言和技术的架构应用解决方案
区别:
框架是具体语言和技术相关的,架构是语言无关的。
框架是集成了你的代码和多种第三方解决方案的工具,让你聚焦业务逻辑代码而不是技术实现;架构更宏观,是软件如何设计或组织的策略。
联系:
框架是特定语言和技术的架构应用解决方案
框架是一种或多种架构的组合的实现
2.以你的项目为案例
(1)绘制三层架构模型图,细致到分区
(2)结合你的程序结构,从程序员角度说明三层架构给开发者带来的便利
- 开发人员可以只关注整个结构中的其中某一层
- 可以降低层与层之间的依赖关系
- 有利于标准化
- 利于各层逻辑的复用
- 结构更加明确
- 可以很容易的用新的实现来替换原有层次的实现
- 在后期维护的时候,极大地降低了维护成本和维护时间
3.研究VUE与FLUX状态管理的异同
答:
VUE状态管理:Vue参照Flux/Redux实现出Vuex,专注于应用层级的状态管理。为了实现全局状态管理,把原本简单纯粹的双向绑定以及操作方法都剥离开来,抽象成Vuex的state/mutation/action。
- 应用级的状态由store集中管理
- state用于存放多个组件共享的状态
- 修改状态的唯一方式是commit同步的mutation
- 异步逻辑放在action里
FLUX状态管理:Flux 使 Views 查询 Stores,用户交互触发的 Actions 被提交到一个 Dispatcher 中。当 Actions 被派发后,Stores 将会随之更新自己并且通知 Views 进行修改。这些 Store 当中的修改会进一步促使 Views 查询新的数据。即在相对独立的组件中,action -> state -> view 的单向数据流能得到保证。
相同之处:
数据流动都是单向的,避免一个Model被多个View引用时,View改变对Model的更新造成混乱。
区别:
Vuex有同步异步2种更新方式,Flux不区分同步异步。