1. 描述软件架构与框架之间的区别与联系
1.1. 区别
软件架构(software architecture)是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
软件框架(software framework)通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。
1.2. 联系
软件框架提供并实现最为基础的软件架构和体系。软件开发者通常依据特定的框架实现更为复杂的商业运用和业务逻辑。
2. 以你的项目为案例
2.1. 绘制三层架构模型图,细致到分区
2.2. 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
- 使用层可以做到关系分离,减少耦合和依赖性、增强内聚性、提供潜在的复用性并且使概念更加清晰。
- 封装和分解了相关的复杂性。
- 通过逻辑划分,有助于团队开发。
3. 研究 VUE 与 Flux 状态管理的异同
3.1. 相同点
Flux 基于一个简单的原则:数据在应用中单向流动。在这种架构当中,用户交互将会触发 Action,Action 则会被提交到一个集中的 Dispatcher 当中。当 Action 被派发之后,Store 将会随之更新自己并且通知 Views 进行修改。这些 Store 当中的修改会进一步促使 Views 查询新的数据(触发Action)。
![]()
Vuex 借鉴了 Flux。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
3.1. 不同点
Flux架构有多个 store,因此,当我们的应用遇到多个组件共享状态时,单向数据流的简洁性很容易被破坏:多个视图依赖于同一状态;来自不同视图的行为需要变更同一状态。
![]()
而 Vuex 则解决了多个组件共享状态的问题。其基本思想是把组件的共享状态抽取出来,以一个全局单例模式管理。在这种模式下,我们的组件树构成了一个巨大的“视图”,不管在树的哪个位置,任何组件都能获取状态或者触发行为。