Lesson 13
-
描述软件架构与框架之间的区别与联系
软件架构就是把系统分解为一些部件,描述这些部件的职责以及它们之间的协作行为。
框架是特定语言和技术的架构应用解决方案。
软件架构呈现的是一个设计规约,用来指导软件系统的实施和开发。而框架是程序代码,可复用的结构和组件;框架可以有它的架构,用来指导开发,反之亦然。
-
以你的项目为案例:
绘制三层架构模型图,细致到分区
结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
- 表示层:用户点餐子系统、餐厅管理子系统、餐厅厨房管理子系统
- 业务层:用户管理模块、点餐管理模块、菜品管理模块、订单管理模块、支付管理模块、配餐管理模块、餐厅管理
- 持久化层:用户、菜品、订单、餐厅信息
好处
- 每个层或包的职责是清晰的,模块化并可扩展的。系统分析的每个类会分明确的放置;
- 易于程序员理解业务逻辑和每个层的主要功能,关注项目的整体业务流程,编码时有更好的整体性。
- 每个层设计的技术明确,程序员可快速学习并编码,并且有利于程序员编码时前后端分离,提高协作和测试效率。
- 有利于开发员估计项目的工作量
- 研究 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