系统分析与设计作业(八)

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

软件架构:
架构和构架也就是通常所说的软件体系结构(software architecture。软件架构)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。
软件架构并不仅仅关注软件本身的结构和行为,还注重其他特性:使用、功能性、性能、弹性、重用、可理解、经济以及技术的限制和权衡等。

软件框架:
软件框架是面向领域(如ERP、计算领域等)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。也就是说软件框架是领域分析结果的软件化,是领域内最终应用的模板。
软件框架的行为调整机制是指如何针对具体的应用调整该框架的可变部分、如何在可变点加入特定应用模块所采用的方法和规则。

框架和架构的区别与联系:
1. 呈现形式不同.体系结构的呈现形式是一个设计规约,而框架则是程序代码.
2. 目的不同.体系结构的首要目的大多是指导一个软件系统的实施与开发;而框架的首要目的是为复用.因此,一个框架可有其体系结构,用于指导该框架的开发,反之不然.
3. 有种特殊的体系结构,DSSA(领域特定体系结构)其首要目的也是为了复用.
4. 有个叫体系结构风格的东西,将它用程序代码实现后就成了Corba,COM之类的东西,它们俩叫体系结构框架,也叫中间件集成框架,又有人愿意叫它对象中间件


2.以你的项目为案例

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

    这里写图片描述

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

每个层或包的职责是清晰的,模块化并可扩展的。系统分析的每个类会分明确的放置;
提供了隐式的程序复用准则;
每个层涉及的技术是明确的。这使得程序员可以通过快速培训上岗;
通过依赖估计项目变化产生的工作量;
开发次序和重要性是明确的。领域模型、基础模块(用户和基础数据的DTO和Service必须优先开发与测试),减少这些模块的错误,特别是领域模型设计失误,是项目成功的关键;
并行开发支持。利用前后端分离,实现并行开发


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

Flux:

  1)状态集管理框架,由facebook创建,专门用来构建前端框架结构的框架,便于维护。

有四个组成部分action,dispatch,view,store,工作流程是view发出一个action,派发器接收action,让store进行数据更新,更新完成以后store发出change,view接受change更新视图。
这里写图片描述
Flux 的最大特点,就是数据的”单向流动”。数据总是”单向流动”,任何相邻的部分都不会发生数据的”双向流动”。这保证了流程的清晰。

VUE:
1)vue的状态管理工具是vuex。Vuex 其实是一个针对 Vue 特化的 Flux。

2) 便于维护,保证安全,vue中引入vuex,解决状态之间共享的问题

3)多个组件调用一个状态,将原来组建与组件之间的状态传递改成组件与仓库之间的传递

4)vuex适用于构建大型的项目,如果不是大型项目,使用vuex会使代码更加繁琐

vuex核心:

    state:存放多个组件共享的状态(数据)

    mutations:存放更改state里状态的方法,用于变更状态,是唯一一个更改状态的属性

    getters:将state中某个状态进行过滤,然后获取新的状态,类似于vue中的computed

    actions:用于调用事件动作,并传递给mutation

    modules:主要用来拆分state

这里写图片描述

Vuex 也是单向数据流的一种实现。VUEX背后的基本思想:把组件的共享状态抽取出来,以一个全局单例模式管理;在这种模式下,我们的组件树构成了一个巨大的视图;不管在树的那个位置,任何组件都能获取状态或者触发行为。

猜你喜欢

转载自blog.csdn.net/ulricalin/article/details/80557145