系统分析与设计Lesson13(第八次作业)

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

软件架构 :软件架构是一个系统的草图,把系统分解为一些部件,描述这些部件的职责及它们之间的协作行为。架构是一组重要决策,其中涉及软件系统的组织,对结构元素及其组成系统所籍接口的选择,这些元素特定于其相互协作的行为,这些结构和行为元素到规模更大的子系统的组成,以及指导该组织结构(这些元素及其接口、协作和组成)的架构风格。


软件框架 :软件框架是特定语言和技术的架构应用解决方案。面向领域(如ERP、计算领域等)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。也就是说软件框架是领域分析结果的软件化,是领域内最终应用的模板。


区别
框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务可以被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。


软件架构不是软件,而是关于软件如何设计的重要决策。软件架构决策涉及到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中;当然,引入软件框架之后,整个开发过程变成了“分两步走”,而架构决策往往会体现在框架之中。


联系
软件架构是引导如何设计软件框架的重要决策。它决定了软件系统如何划分,在一定程度上描述了被划分的各个部分之间的静态、动态关系。软件架构的决策体现在软件系统的框架中。总而言之,软件架构指导软件框架的设计,而软件框架是一种或多种架构的组合的实现

二.以你的项目为案例

绘制三层架构模型图,细致到分区
3layer
结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利

  1. 便于对开发工作进行有效正确的分工
  2. 便于了解整个项目各个层次间的联系与区别
  3. 易于用新的实现代替原有层次的实现,利于各层逻辑的复用。
  4. 降低层与层之间的依赖
  5. 极大地降低了维护成本和维护时间
  6. 便于进行并行开发

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

VUE:
VUE使用Vuex来管理所有组件状态,每一个Vuex应用就是一个store,在store中包含组件中的共享状态state和改变状态的方法mutations。当开发大型单页应用(SPA),会出现多个视图组件依赖同一个状态,来自不同视图的行为需要变更同一个状态的情况,此时就应该考虑使用Vuex,它能把组件的共享状态抽取出来,当做一个全局单例模式进行管理。这样不管在何处改变状态,Vuex都会通知使用该状态的组件做出相应修改。


Flux:
Flux将一个应用分成四个部分:
①View(视图层)
②Action(动作层)
③Dispatcher(派发器)
④Store(数据层)
Flux使用数据层保存整个应用的状态,一旦发生变动,就提醒Views要更新页面。


相同点:
①都通过store来存储状态
②都基于Flux
③都提供数据驱动、可组合搭建的视图组件。


不同点:
Flux:
Flux数据流的顺序是:View发起Action->Action传递到Dispatcher->Dispatcher将通知Store->Store的状态改变通知View进行改变
Vue:
Vuex数据流的顺序是:View调用store.commit提交对应的请求到Store中对应的mutation函数->store改变生成新的state(vue检测到数据变化自动渲染)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值