Lesson13个人作业

Posted by ONE on June 12, 2018

Lesson 13

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

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

    框架是特定语言和技术的架构应用解决方案。

    软件架构呈现的是一个设计规约,用来指导软件系统的实施和开发。而框架是程序代码,可复用的结构和组件;框架可以有它的架构,用来指导开发,反之亦然。

  2. 以你的项目为案例:

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

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

  • 表示层:用户点餐子系统、餐厅管理子系统、餐厅厨房管理子系统
  • 业务层:用户管理模块、点餐管理模块、菜品管理模块、订单管理模块、支付管理模块、配餐管理模块、餐厅管理
  • 持久化层:用户、菜品、订单、餐厅信息

好处

  • 每个层或包的职责是清晰的,模块化并可扩展的。系统分析的每个类会分明确的放置;
  • 易于程序员理解业务逻辑和每个层的主要功能,关注项目的整体业务流程,编码时有更好的整体性。
  • 每个层设计的技术明确,程序员可快速学习并编码,并且有利于程序员编码时前后端分离,提高协作和测试效率。
  • 有利于开发员估计项目的工作量
  1. 研究 VUE 与 Flux 状态管理的异同

同:

Vuex和flux都是单数据流架构,vuex是基于flux设计的,二者都是采用 视图层触发Action -> dispatcher分发 -> stores进行状态管理 -> 更新视图层的思想来解决大型项目的数据传递问题。

异:

  • Flux架构在stores更新之后,通知views查询新的数据更新视图,vuex是数据驱动,会自动渲染视图
  • vuex将store对象分为state对象和mutation对象,state存放状态,mutation存放会引发改变的所有方法
  • Vuex是专门为vue设计的,所以Vuex是组件(components)和仓库之间的数据传递,而不是Flux架构中的views