系统分析与设计作业(7)

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


软件架构

        软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。


软件框架

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


区别和联系

        框架技术和架构技术的出现,都是为了解决软件系统日益复杂所带来的困难而采取“分而治之”思维的结果—–先大局后局部,就出现了架构;先通用后专用,就出现了框架。


以你的项目为案例:

       绘制三层架构模型图,细致到分区


系统分析与设计作业(7)


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

  • 开发人员可以只关注整个结构中的其中某一层
  • 可以很容易的用新的实现来替换原有层次的实现
  • 可以降低层与层之间的依赖
  • 有利于标准化
  • 利于各层逻辑的复用


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

异:

    Flux:

  • Flux是Facebook用户建立客户端Web应用的前端架构, 它通过利用一个单向的数据流补充了React的组合视图组件,这更是一种模式而非正式框架,能够无需许多新代码情况下立即开始使用Flux。
  • Flux分为四层,分别是view、action、dispatcher和store,而它的数据流顺序为: View发起Action -> Action传递到Dispatcher -> Dispatcher将通知Store -> Store的状态改变通知View进行改变


    Vuex

  • vuex适用于构建大型的项目,如果不是大型项目,使用vuex会使代码更加繁琐
  • vuex核心:
        state:存放多个组件共享的状态(数据)
        mutations:存放更改state里状态的方法,用于变更状态,是唯一一个更改状态的属性
        getters:将state中某个状态进行过滤,然后获取新的状态,类似于vue中的computed
        actions:用于调用事件动作,并传递给mutation
        modules:主要用来拆分state
        vuex的数据流顺序为: vueComnent –>(dispatch)Action –>(commit)–> Mutations –>(mutate)State –>(render)VueComponent


同:

  •         Flux和Vuex都是通过store来存储状态