- 描述软件架构与框架之间的区别与联系
1.软件架构与框架之间的区别与联系
软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件,描述这些部件的职责及它们之间的协作行为。
框架是特定语言和技术的架构应用解决方案,是某种半成品,供人选用来完成自己的作品,一般是成熟的不断升级供人使用的可用成品。(例如JavaScript)
区别:架构是针对整个领域,主要是概念和设计,而框架一般更细致且开发到了某个层次。
联系:框架也可以看做是架构的实体化,在抽象层次上对软件开发起到指导性作用。
2.以你的项目为案例
- 绘制三层架构模型图,细致到分区
- 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
1.开发人员可以只关注整个结构中的其中一层。
2.可以降低层与层之间的依耐性,也可以轻松用新的实现代替原有的该层。
3.项目分工清楚,结构清晰,后期维护成本低。
4.代码复用容易。
- 研究 VUE 与 Flux 状态管理的异同
不同:
Vue中状态管理有一个单独的模式, 叫 Vuex。其中主要分为以下几类: state, getters, mutations, actions, modules
- state: 作为数据源的存在, 用于存放组件之间的共享状态
- getters: 筛选state的派生状态, 方便其他组件使用它。
- mutations: 通过提交mutations,来更改state中的状态, 这也是更改state中状态的唯一方法。
- actions: 和mutation相似,但是支持异步操作。 Action也可以改变state中的状态, 不过是通过提交mutation来实现
Flux将应用分为四个部分: View, Action, Dispatcher, Store
这四个部分的功能如下:
- View:视图层
- Action:接收视图层传递的消息, 并执行相应的动作
- Dispatcher:用来接收Actions,执行回调函数。
- Store:数据层, 这里用来存放应用的状态,当这里发生变化时, 在视图层上相应的展示出来
相同:
都是可以对大型业务中的复杂数据流进行流动管理,Flux基于MVC模式,而Vuex则是部分类似于Flux。两者都是通过store储存数据,Vue的actions和Flux的Store类似。