描述软件架构与框架之间的区别与联系
软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。
软件框架是面向领域的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。也就是说软件框架是领域分析结果的软件化,是领域内最终应用的模板。
架构一般针对议和行业或一类应用,是技术和应用的完美结合。框架比较小,很多表现为中间件,框架一般是从技术角度解决同类问题,从技术的横切面来解决实际应用问题。
一个架构很可能应用了多个框架。
以你的项目为案例
- 绘制三层架构模型图,细致到分区
- 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
每个层的职责是清晰的,模块化并可扩展的。因此程序员可以很好的分工,各自负责不同的模块,同时进行开发。从服务端角度来说,可以通过模块来划分任务,互相之间不会相互影响,更易并行开发以及最终整合。
另外,更清晰的结构使得维护成本相对较低,测试也可分模块进行,将错误定位到某一模块,能够更快地发现并解决问题。
研究 VUE 与 Flux 状态管理的异同
VUE的类FLUX状态管理:
由于状态零散地分布在许多组件和组件之间的交互中,大型应用复杂度也经常逐渐增长。为了解决这个问题,Vue 提供 vuex:有受到 Elm 启发的状态管理库。vuex 甚至集成到 vue-devtools,无需配置即可进行时光旅行调试。
VUEX借鉴了 Flux、Redux、和 The Elm Architecture。与其他模式不同的是,Vuex 是专门为 Vue.js 设计的状态管理库,以利用 Vue.js 的细粒度数据响应机制来进行高效的状态更新。VUEX实际最终达成了 Flux 架构。