描述软件架构与框架之间的区别与联系
- 软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。软件架构并不仅仅关注软件本身的结构和行为,还注重其他特性:使用、功能性、性能、弹性、重用、可理解、经济以及技术的限制和权衡等。
- 软件框架是面向领域(如ERP、计算领域等)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。也就是说软件框架是领域分析结果的软件化,是领域内最终应用的模板。
- 区别:软件架构是一个比较抽象的概念,而软件框架则是具体的概念,是实际系统的一部分。
- 联系:软件架构指导了框架的设计,软件框架实现、支持了软件架构,框架可以涉及一种或者多种架构。
以你的项目为案例
绘制三层架构模型图,细致到分区
结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
1.实现了逻辑分离,耦合度低,结构清晰。
2.利于各层次开发工作同步进行。
3.利于接受需求的变化。
研究 VUE 与 Flux 状态管理的异同
Flux将一个应用分成四个部分。
1.View: 视图层 2.Action(动作):视图层发出的消息(比如mouseClick) 3.Dispatcher(派发器):用来接收Actions、执行回调函数 4.Store(数据层):用来存放应用的状态,一旦发生变动,就提醒Views要更新页面
Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
vuex 包含有五个基本的对象:
1.state:存储状态。也就是变量; 2.getters:派生状态。也就是set、get中的get 3.mutations:提交状态修改。也就是set、get中的set 4.actions:和mutations类似。 5.modules:store的子模块,内容就相当于是store的一个实例。
不同
1.Flux数据流顺序:1.用户访问 View 2.View 发出用户的 Action 3.Dispatcher 收到 Action,要求 Store 进行相应的更新 4.Store 更新后,发出一个"change"事件 5.View 收到"change"事件后,更新页面
Vuex数据流的顺序是:
1.View调用store.commit提交对应的请求到Store中对应的mutation函数 2.store改变生成新的state(vue检测到数据变化自动渲染)
2.在Vuex中本身就内置State对象,对仓库的管理更加明确。
相同:
1.VUE和Flux都通过store来存储状态。
2.Flux最早提出作为对传统前端MVC的一种改进,Vuex借鉴了Flux的一些思想。