系统分析与设计homework8
描述软件架构与框架之间的区别与联系
软件架构:
软件架构是一组重要决策,其中涉及软件系统的组织,对结构元素及其组成系统所藉接口的选择,这些元素特定于其相互协作的行为,这些结构和行为元素到规模更大的子系统的组成,以及指导该组织结构(这些元素及其接口、协作和组成)的架构风格。
软件框架:
-
框架是一组相关的类和接口相互协作,为逻辑子系统的核心和不变部分提供服务。
- 其包含具体和抽象类,这些类定义了需要遵循的接口、需要参与的对象交互以及其他的不变式。
- 通常(但不是必须)要求框架的使用者去定义已有框架类的子类来利用、定制或扩展框架服务。
- 框架包括既有抽象方法又有具体方法的抽象类。
- 依赖于 好莱坞原则 , 即“不要给我们打电话,我们会打给你”。意思是,用户定义的类(例如新的子类)将从预定义的框架类接收消息。这通常是通过实现超类的抽象方法来实现的。
软件架构是一种软件设计的策略,而软件框架则是为了实现某种软件规范而提供基础功能实现的软件产品。软件架构不是软件,它决定了软件系统结构的划分以及各子系统之间的关系,软件框架则实现了软件架构中的基础功能,软件架构的一些决策会在框架中得到体现。
以你的项目为案例
绘制三层架构模型图,细致到分区

结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
- 三层架构明确的划分了每个层和每个区的内容,每个层间的依赖较低,开发者可以明确的分工,并专注于自己负责的层或分区。
- 分层架构使的开发者可以更容易地扩展功能,添加新的子系统和模块。
- 清晰的模块划分也更使开发者可以更容易地进行维护。
研究 VUE 与 Flux 状态管理的异同
Flux是Facebook用于构建客户端Web应用程序的一个系统架构,它将应用分为View,Action,Dispatcher以及Store。用户访问View,View发出用户的Action,Dispatcher收到Action之后要求Store进行更新,Store更新完成后发出change事件,View在接收到change事件后更新页面。 Vuex在Flux的基础上改进,对仓库的管理更加明确。Vuex中不再有Dispatcher,取而代之的是mutation。另外Vuex具有自动渲染功能,不需要更新页面。
PREVIOUS系统分析与设计 final report