系统分析与设计hw_07
- 描述软件架构与框架之间的区别与联系
- 区别:
- 架构:软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。
- 框架:框架一般是成熟的,不断升级的软件,是某种应用软件的半成品,包含了相关应用开发常见的组件。开发者可以在框架提供的模版的基础上开发自己的应用的功能。
- 联系:
- 框架技术和架构技术的出现,都是为了解决软件系统日益复杂所带来的困难而采取“分而治之”思维的结果–先大局后局部,就出现了架构;先通用后专用,就出现了框架。
- 为了尽早验证架构设计,或者出于支持产品线开发的目的,可以将关键的通用机制甚至整个架构以框架的方式进行实现;
- 业界(及公司内部)可能存在大量可供重用的框架,这些框架或者已经实现了软件架构所需的重要架构机制,或者为未来系统的某个子系统提供了可扩展的半成品,所以最终的软件架构可以借助这些框架来构造。
- 三层架构模型图
- 1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
6、结构更加的明确
7、在后期维护的时候,极大地降低了维护成本和维护时间 - 研究 VUE 与 Flux 状态管理的异同
- flux:专门用来构建前端框架结构的框架
view视图层 action层 dispatcher派发层 store仓库层 - VUE引进Vuex来管理组件状态:
Vuex:
state:存放多个组件共享的状态(数据)
mutations:存放更改state里状态的方法,用于变更状态,是唯一一个更改状态的属性
getters:将state中某个状态进行过滤,然后获取新的状态,类似于vue中的computed
actions:用于调用事件动作,并传递给mutation
modules:主要用来拆分state - 差异:
flux的数据流:View发起Action->Action传递到Dispatcher->Dispatcher将通知Store->Store的状态改变通知View进行改变
Vuex:View调用store.commit提交对应的请求到Store中对应的mutation函数->store改变(vue检测到数据变化自动渲染)
Flux对同步异步没有区分,Vuex有 - 相同:
- 都通过store来存储状态
- Flux是一种前端状态管理架构思想,专门解决软件的结构问题。Flux最初用于解决MVC没有办法处理的复杂数据流。基于Flux的设计思想,出现了一批前端状态管理框架。Flux和Vuex都是基于Flux思想的状态管理工具工具
- 都以单向数流的方式工作