架构建模
这里的文章除了特别说明为 [转载] 之外,均为本人原创,转载请说明出处
1. 描述软件架构与框架之间的区别与联系
- 架构是一组重要决策,其中涉及软件系统的组织,对结构元素及其组成系统所籍接口的选择。软件架构是把系统分解为一些部件,描述这些部件的职责及它们之间的协作行为。
- 框架是特定语言和技术的架构应用解决方案,例如 Java Spring web framework,它包含了 Java 开发 web 应用的各种业务场景的具体解决方案。 框架是具体语言和技术相关的,是一种或多种架构的组合的实现。框架是集成了你的代码和多种第三方解决方案的工具,让你聚焦业务逻辑代码而不是技术实现。
- 他们之间的联系可以概括为:架构是框架的设计方法,框架是架构的组合实现。
2. 以你的项目为案例
2.1 绘制三层架构模型图,细致到分区
三层模型:表示层、业务层、持久化层
- 表示层:一般按用户角色划分分区,例:用户点餐子系统、餐厅管理子系统、餐厅厨房管理子系统、运维服务子系统等
- 业务层: 一般按业务功能服务划分分区,例:用户管理模块、菜品管理模块、订单管理模块、配餐管理模块、餐厅服务行为管理、餐厅管理等
- 持久化层:按核心交易实体管理(资源管理),例:用户、菜品、订单等等的CRUD
2.2 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
- 软件结构是业界长期最佳实践的总结,对于程序员来说,在开发时选择优于创造,三层架构是个良好的选项
- 理解结构优于硬搬框架,三层架构能帮助开发者更好地理解程序结构,理解系统 big picture
- 三层架构在一定程度上能保证模块的内聚性和耦合性,从而对产品结构的合理性有一定保障,在开发时为程序员带来了产品方面的便利
3. 研究 VUE 与 Flux 状态管理的异同
Flux,状态集管理框架,专门用来构建前端框架结构的框架,便于维护。它分为四层:view视图层,action层,dispatcher派发层,store仓库层。
- 同: Vuex是专门为Vue设计的状态管理框架,同样基于Flux架构,都便于维护,保证安全。
-
异:
- Flux数据流的顺序是:
view——>action——>dispatcher——>store返回——>dispatcher——>view(接收的方法:register())
View发起Action->Action传递到Dispatcher->Dispatcher将通知Store->Store的状态改变通知View进行改变
- Vuex数据流的顺序是:
vueComnent——》(dispatch)Action——》(commit)——》Mutations——》(mutate)State——》(render)VueComponent
View调用store.commit提交对应的请求到Store中对应的mutation函数->store改变生成新的state(vue检测到数据变化自动渲染)
- Flux数据流的顺序是:
view——>action——>dispatcher——>store返回——>dispatcher——>view(接收的方法:register())