1.描述软件架构与框架之间的区别与联系
框架: 框架是特定语言和技术的架构应用解决方案。框架是具体语言和技术相关的,是一种或多种架构的组合实现,集成了你的代码和多种第三方解决方案的工具,让你聚焦 业务逻辑代码 而 不是技术实现。
区别与联系:呈现形式不同,架构的呈现形式是一个设计规约,而框架则是程序代码。目的不同,架构的首要目的大多是指导一个软件系统的实施与开发,而框架的首要目的是复用,因此一个框架要有架构用于指导开发。
每个层或包的职责是清晰的,模块化并可扩展的,系统分析的每个类会分明确的放置,提供了隐式的程序复用准则,每个层涉及的技术是明确的,这使得程序员可以通过快速培训上岗,通过依赖估计项目变化产生的工作量,开发次序和重要性是明确的,领域模型,基础模块,减少这些模块的错误,特别是领域模型设计失误,是项目成功的关键,并行开发支持,李永前后端分离,实现并行开发。
3.研究 VUE 与 Flux 状态管理的异同
flux分为四层:view视图层, action层, dispatcher派发层, store仓库层;在这种架构当中,Views 查询 Stores(而不是 Models),并且用户交互将会触发 Actions,Actions 则会被提交到一个集中的 Dispatcher 当中。当 Actions 被派发之后,Stores 将会随之更新自己并且通知 Views 进行修改。这些 Store 当中的修改会进一步促使 Views 查询新的数据。
vuex是专门为vue提供的状态管理工具,核心分为:state--存放多个组件共享的状态,mutations--存放更改state里状态的方法,用于变更,是唯一一个更改状态的属性,getters--将state中某个状态进行过滤,然后获取新的状态,类似于vue中的computed,actions--用于调用事件动作,并传递给mutation,modules--主要用于拆分state.
相同之处在于,Vuex与Flux均通过store来存储state,且二者均提供数据驱动的、可组合搭建的视图组件,不同之处主要体现在数据流顺序这一方面.