系统分析与设计 homework8

  • 描述软件架构与框架之间的区别与联系
  • 以你的项目为案例
    • 绘制三层架构模型图,细致到分区
    • 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
  • 研究VUE与Flux状态管理的异同

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


软件架构就是把系统分解为一些部件,描述这些部件的职责及它们之间的协作行为。
框架是特定语言和技术的架构应用解决方案,是一组组件,供开发者选用来完成自己的系统。

  • 软件架构和框架的呈现形式不同。体系结构的呈现形式是一个设计规约,而框架则是程序代码。
  • 软件架构和框架的目的不同。体系结构的首要目的大多是指导一个软件系统的实施与开发;而框架的首要目的是为复用。因此,一个框架可有其体系结构,用于指导该框架的开发,反之不然。

    在Stack Overflow上面,有位老哥做了一个很好的比喻(链接点这里),框架(Framework)好比盖房子用的工具,而架构(Architecture)就是造房子的图纸。

以你的项目为案例,绘制三层架构模型图,细致到分区


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


  • 层次清晰,每个层次都提供了接口定义
  • 降低了代码之间层与层的依赖关系
  • 有利于各层代码逻辑的复用
  • 接口设计需要符合扩展开发,对修改关闭的原则,增强了系统的安全性
  • 开发人员可以只关注整个结构中的其中某一层
  • 可以很容易的用新的实现来替换原有层次的实现
  • 有利于标准化
  • 结构更加明确
  • 在后期维护的时候,极大地降低了维护成本和维护时间

研究VUE与Flux状态管理的异同


vuex:
参考:Vuex
vuex的核心:

  • state:存放多个组件共享的状态(数据)
  • mutations:存放更改state里状态的方法,用于改变状态,是唯一一个改变状态的属性
  • getters:将state中某个状态进行过滤,然后获取新的状态,类似vue中的computed
  • actions:用于调用事件动作,并传递给mutation
  • modules:主要用来拆分state

Flux:
参考:Flux架构入门教程flux,redux,vuex状态集管理工具之间的区别
Flux是一种架构思想,专门解决软件的结构问题。Flux将一个应用分成四个部分:

  • View:视图层
  • Action(动作):视图层发出的消息(如mouseClic)
  • Dispatcher(派发器):用来接收Actions、执行回调函数
  • Store(数据层):用来存放应用的状态,一旦发生变动,就提醒Views要更新页面

Flux的最大特点,就是数据的单向流动

  1. 用户访问View
  2. View发出用户的Action
  3. Dispatcher收到Action,要求Store进行相应的更新
  4. Store更新后,发出一个“change”事件
  5. View收到“change”事件后,更新页面

异:数据流的顺序不同
flux分为四层,View、Action、Dispatcher和store
View =》 Action =》Dispatcher =》Store返回 =》Dispatcher =》View(接收的方法:Register)

vuex核心分为state、mutations、getters、actions、modules
vueComment =》(dispatch)Action =》(commit)=》Mutations -》(mutate)State =》(render)VueComponent

同:

  1. vuex基于Flux架构,思想相同
  2. 都是为了解决软件的结构问题

猜你喜欢

转载自blog.csdn.net/xiasilo/article/details/80549859