系统分析与设计HW7


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

    区别:

    软件架构就是把系统分解为一些部件,描述这些部件的职责及它们之间的协作行为,是一个系统的草图;

    软件框架是特定语言和技术的架构应用解决方案,在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构。

    联系:

    软件框架比架构更具体,确定框架后,软件架构也随之确定。软件架构是引导如何设计软件框架的重要决策,而同一软件架构可以通过多种框架来实现。


·以你的项目为案例

    绘制三层架构模型图,细致到分区

系统分析与设计HW7

    结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利

    在团队合作过程中,三层架构可以使每个成员只关注其需要关注的部分,每个人可以专注于自己的编程工作,降低了层与层之间的依赖性,同时项目的逻辑更为清晰,分工更为明确,需要进行修改时也很容易替换旧的层次的实现。现在实行前后端分离后,之间通过提供API进行交互,互相告知对方需要获得什么数据,不需要花费更多时间进行编程过程中的交流。


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

    vue的状态管理模式为vuex,包含有五个基本的对象:

    state:存储状态。

    getters:派生状态。

    mutations:提交状态修改。

    actions:和mutations类似。不过actions支持异步操作。

    modules:store的子模块,内容就相当于是store的一个实例。

系统分析与设计HW7


    Flux是Facebook用于构建客户端Web应用程序的一个系统架构,通过利用单向数据流来补充React的可组合视图组件,将一个应用分成四个部分:

    View: 视图层 

    Action:动作,即视图层发出的消息

    Dispatcher:派发层,用来接收Actions、执行回调函数

    Store:仓库层,用来存放应用的状态,一旦发生变动就提醒Views要更新页面

系统分析与设计HW7


vuex和flux的对应用的具体划分和数据流顺序有所不同,vuex本身借鉴了flux等应用模式,但其是专门为vue所设计的。vuex和flux的相同之处在于都有用于存放应用状态的层,且都应用了单向数据流的思想。