系统分析与设计-lesson13
- 描述软件架构与框架之间的区别与联系
- 软件架构:软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。
- 软件架构:面向某领域(包括业务领域,如ERP,和计算领域,如GUI)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供一系列定义良好的可变点以保证灵活性和可扩展性。可以说,软件框架是领域分析结果的软件化,是领域内最终应用系统的模板。
随着软件规模的扩大、应用的广泛和软件复用技术的发展,以子程序或类(Class)为单位的软件复用有许多不足:(1)子程序库日趋其庞大以致于使用人员难以掌握,(2)大多数类粒度很小,且其自身往往不能完成有用的功能。这一问题迫使人们在复用中将一组类(或模块)及其交互作为一个整体来考虑,由此出现了软件框架。 - 区别:软件架构不是软件,是关于软件如何设计的重要决策。而框架是一种软件,由实际的代码构建,是为构建更成熟的软件提供了基础。其中框架是与具体的编程语言和编程技术相关的,而架构则与此无关。
- 联系:软件架构是引导如何设计软件框架的重要决策。它决定了软件系统如何划分,在一定程度上描述了被划分的各个部分之间的静态、动态关系。软件架构的决策体现在软件系统的框架中。
-
以你的项目为案例
绘制三层架构模型图,细致到分区
结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
三层架构的分析,可以减少每个模块之间的耦合和依赖性,而且会使得逻辑更加的清晰。在开发过程中,可以独立地开发各层,很大程度的提高开发的效率。例如我是写后端的,是可以先写完第一版的demo,然后同时和前端开始,进行修改,然后每一层的调试都会比较清晰。
研究 VUE 与 Flux 状态管理的异同
对于VUE:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
官方说明图:
对于flux:状态集管理框架,由facebook创建,专门用来构建前端框架结构的框架,便于维护,用于安全考虑
它分为四层:view视图层 、action层 、dispatcher派发层、store仓库层
流动:view——>action——>dispatcher——>store返回——>dispatcher——>view
由此看来他们之间的共同点是对数据流进行严格管理来规范数据在web应用中流动方式的框架。而不同点在于,flux是强制数据的单向流动,而vue是一个完整数据流闭环,如官方说明图。