1.描述软件架构与框架之间的区别与联系
- 软件架构:
- 软件架构是一系列相关的抽象模式,用于指导大型软件
- 软件框架:
- 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法,另一种定义为框架是可被应用开发者定制的应用骨架,前者是从应用方面而后者是从墓地的方面给出的定义。
- 框架是一个可服用的设计构件,通常以构件库的形式出现,但构架库只是框架的一个重要部分,框架的关键在于框架内对象间的的交互模式和控制流模式。
- 联系:
- 框架是一种或多种架构的组合的实现
- 架构决策往往会体现在框架之中,框架技术和架构技术的出现,都是为了解决软件系统日益复杂所带来的困难而分而治之的结果。
- 区别:
- 框架比较小,很多一般表现为中间件,框架一般是从技术角度解决问题,从技术的横切面来解决实际应用问题。
- 架构一般针对议和行业或一类应用,是技术和应用的完美结合。
2.以你的项目为案例
1.绘制三层架构模型图,细致到分区
2.结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
- 开发人员可以只关注整个结构中的其中某一层;
- 可以很容易的用新的实现来替换原有层次的实现;
- 可以降低层与层之间的依赖;
- 有利于标准化;
- 利于各层逻辑的复用
- 扩展性强,不同层负责不同的层面;
- 安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了;
- 项目结构更清楚,分工更明确,有利于后期的维护和升级;
3.研究 VUE 与 Flux 状态管理的异同
- FLUX:状态集管理框架,由facebook创建,专门用来构建前端框架结构的框架,便于维护,用于安全考虑,它分为四层:view视图层 action层 dispatcher派发层 store仓库层
view——>action——>dispatcher——>store返回——>dispatcher——>view(接收的方法:register()) - VUE:VUE使用vuex来专门为其提供状态管理。多个组件调用一个状态,将原来组建与组件之间的状态传递改成组件与仓库之间的传递。vuex适用于构建大型的项目,如果不是大型项目,使用vuex会使代码更加繁琐。vuex的核心为以下部分:
- state:存放多个组件共享的状态(数据)
- mutations:存放更改state里状态的方法,用于变更状态,是唯一一个更改状态的属性
- getters:将state中某个状态进行过滤,然后获取新的状态,类似于vue中的computed
- actions:用于调用事件动作,并传递给mutation
- modules:主要用来拆分state
- 不同点:
- Flux是非常早就出现的的一个状态管理集框架,在它的基础上衍生出了一系列的状态管理工具。vuex是在redux的基础上进行优化的,而redux是Flux中的一个实现,也即vuex是Flux的一个实现
- vuex内置state对象,使得对仓库管理更加明确;vuex有自动渲染功能,不需要更新;
- 相同点:
- 都通过store来存储状态
- 都提供数据驱动的、可组合搭建的视图组件。
- -