1. 描述软件架构与框架之间的区别与联系
软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构决策涉及到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中。
软件框架是面向领域的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。也就是说软件框架是领域分析结果的软件化,是领域内最终应用的模板。
总的来说,软件架构是一种抽象描述,而软件框架是一种可复用的软件,这是两者本质上的不同。软件架构可以体现在软件框架之中,在按照软件架构进行编码的过程中,用到的软件框架也是符合这个架构的。
2. 以你的项目为案例
绘制三层架构模型图,细致到分区
结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
三层架构模型图如下:

三层架构给开发者带来的便利
- 由于有了较为明确的划分,开发者能够被合理分工,各司其职
- 各层的解耦使得开发出的软件更为鲁棒,便于维护
- 清晰的架构使得每个开发者对整个项目有整体上的了解
- 各个模块的压力有所差异,开发者可以采取更加有针对性的实现方案
- 各层的同步实现能够加快项目进程
3. 研究 VUE 与 Flux 状态管理的异同
Vue
父子组件的状态可以通过prop传递和emit触发。对于更复杂的情况,如果应用足够简单,可以通过全局的event bus进行组件间的状态管理,但是当面对中大型的单页应用时,Vuex能够让我们更好地在组件外部管理状态。Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
Vuex使用单一状态树进行状态管理,更改 Vuex 的 store 中的状态的唯一方法是提交 mutation,开发者不能直接调用一个 mutation handler,而应该以相应的 type 调用 store.commit 方法来唤醒。Action 提交的是 mutation,而不是直接变更状态。mutation是同步操作,而Action可以包含异步操作。

Flux
Flux将一个应用分成四个部分
- View: 视图层
- Action(动作):视图层发出的消息(比如mouseClick)
- Dispatcher(派发器):用来接收Actions、执行回调函数
- Store(数据层):用来存放应用的状态,一旦发生变动,就提醒Views要更新页面
Flux的最大特点是数据的单向流动:用户访问 View,View 发出用户的 Action,Dispatcher 收到 Action,要求 Store 进行相应的更新,Store 更新后,发出一个”change”事件,View 收到”change”事件后,更新页面。如下图:

总结:Vue可以使用原始纯粹的双向绑定,也可以通过全局event bus和Vuex状态管理工具进行全局的状态管理,Vuex是类Flux的状态管理模式。Flux最大特点是数据的单向流动,我觉得这点Vuex和Flux比较相似,但是传递的部件和具体方式有所差异。
相关文章:
-
2021-08-13
-
2021-07-22
-
2021-08-03
-
2021-04-11
-
2021-09-01
-
2021-08-18
-
2021-07-20
-
2021-10-27
猜你喜欢
-
2021-11-27
-
2021-06-24
-
2021-04-01
-
2021-05-08
-
2022-01-21
-
2021-11-01
-
2021-04-10
相关资源
-
下载
2023-03-25
-
下载
2021-06-06
-
下载
2021-06-05