系统分析与设计hw_07

架构与结构的区别在哪 结构和架构有什么区别_架构设计

  1. 描述软件架构与框架之间的区别与联系
  • 区别:
  • 架构:软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。
  • 框架:框架一般是成熟的,不断升级的软件,是某种应用软件的半成品,包含了相关应用开发常见的组件。开发者可以在框架提供的模版的基础上开发自己的应用的功能。
  • 联系:
  • 框架技术和架构技术的出现,都是为了解决软件系统日益复杂所带来的困难而采取“分而治之”思维的结果–先大局后局部,就出现了架构;先通用后专用,就出现了框架。
  • 为了尽早验证架构设计,或者出于支持产品线开发的目的,可以将关键的通用机制甚至整个架构以框架的方式进行实现;
  • 业界(及公司内部)可能存在大量可供重用的框架,这些框架或者已经实现了软件架构所需的重要架构机制,或者为未来系统的某个子系统提供了可扩展的半成品,所以最终的软件架构可以借助这些框架来构造。
  1. 三层架构模型图
  2. 架构与结构的区别在哪 结构和架构有什么区别_架构设计_02

  3. 1、开发人员可以只关注整个结构中的其中某一层;
    2、可以很容易的用新的实现来替换原有层次的实现;
    3、可以降低层与层之间的依赖;
    4、有利于标准化;
    5、利于各层逻辑的复用。
    6、结构更加的明确
    7、在后期维护的时候,极大地降低了维护成本和维护时间
  4. 研究 VUE 与 Flux 状态管理的异同
  • flux:专门用来构建前端框架结构的框架
    view视图层 action层 dispatcher派发层 store仓库层
  • VUE引进Vuex来管理组件状态:
    Vuex:
    state:存放多个组件共享的状态(数据)
       mutations:存放更改state里状态的方法,用于变更状态,是唯一一个更改状态的属性
       getters:将state中某个状态进行过滤,然后获取新的状态,类似于vue中的computed
       actions:用于调用事件动作,并传递给mutation
       modules:主要用来拆分state
  • 差异:
    flux的数据流:View发起Action->Action传递到Dispatcher->Dispatcher将通知Store->Store的状态改变通知View进行改变
    Vuex:View调用store.commit提交对应的请求到Store中对应的mutation函数->store改变(vue检测到数据变化自动渲染)
    Flux对同步异步没有区分,Vuex有
  • 相同:
  • 都通过store来存储状态
  • Flux是一种前端状态管理架构思想,专门解决软件的结构问题。Flux最初用于解决MVC没有办法处理的复杂数据流。基于Flux的设计思想,出现了一批前端状态管理框架。Flux和Vuex都是基于Flux思想的状态管理工具工具
  • 都以单向数流的方式工作