系统分析与设计 lesson13

1. 描述软件架构与框架之间的区别与联系

软件架构

是指一系列相关的抽象模式,用于指导大型软件系统各个方面的设计,是一个系统的草图,描述的对象是直接构成系统的抽象组件,各个组件之间的连接明确细致的描述组件之间的通讯。

软件框架

是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法,框架又是可被应用开发者定制的应用骨架,是一个可服用的设计构件,通常以构件库的形式出现,框架的关键在于框架内对象间的交互模式和控制流模式。

区别

框架与架构之间的重要区别在于,框架是一种特殊的软件,而架构并非软件。软件架构是关于软件应如何设计的重要决策,涉及到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。

而框架是为构建解决方案提供的良好基础,并不能提供完整的解决方案。框架是系统或子系统的半成品,框架中的服务可以被最终应用系统直接调用,框架同时又具有可扩展性。

联系

一个框架可能使用多个设计模式,一个架构可能应用了多个框架。架构的决策往往体现在框架之中,也即框架是结构决策中方法和关系的具体实现。

2. 以你的项目为例

  • 绘制三层架构模型图,细致到分区
  • 结合你程序的结构,从程序员角度说明三层架构给开发者带来的福利


3.  研究VUE与Flux状态管理的异同

Flux状态管理分为四层:视图层(view),动作层(action),派发层(dispatcher)和仓库层(store),专门用来构建前端框架结构,便于维护,数据流的顺序为:view发起action->action传递到dispatcher->dispatcher通知store->store的状态改变并通知view改变。

VUE主要基于Flux框架,适用于构建大型项目,vuex的核心分为:

  • state:存放多个组件共享的状态
  • mutations:存放更改state状态的方法,用于变更状态
  • getters:将state中某个状态进行过滤,然后获取新的状态
  • actions:用于调用事件动作,并传递给mutation
  • modules:主要用来拆分state

Vuex数据流的顺序是:view调用store.commit提交对应的请求到store中相应的mutation函数->store改变生成新的state

Vuex与Flux状态管理的不同之处主要体现在数据流顺序这一方面,除此之外,Vuex是基于Flux的一种前端状态管理框架,并且Vuex包含自动渲染功能,通过生成新的state即可完成更新,并且Vuex进行组件与仓库之间的状态传递,而非组件与组件间的传递。

相同之处在于,Vuex与Flux均通过仓库(store)来存储状态(state),且二者均提供数据驱动的、可组合搭建的视图组件。


猜你喜欢

转载自blog.csdn.net/weixin_38057349/article/details/80553921