架构与框架

系分作业

Posted by ZJQ on June 3, 2018

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

软件架构

软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组建。各个组件之间的连接则明显和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的链接通常用接口来实现。总的来说,就是一种设计的方案蓝图。

软件框架

软件框架是一种特殊的软件,一种半成品,将实现好的代码放入一些我们看不见的地方,其中实现的代码是有规定的架构,然后我们就可以在编程的时候直接调用,利用其规定好的架构,不需要自己再重新设计架构以及实现设计的架构,可复用,为我们的解决方案的实现提供基础,大大加快了开发进程。

两者区别

软件架构是一种设计蓝图,是根据需求得出的一种抽象的解决方案,无代码实现;而软件框架是一种特殊的软件,是有具体代码实现的。

两者联系

软件框架是根据一定的软件架构来用具体代码实现的,所以,软件架构决定软件框架的实现思想逻辑,而软件框架用具体代码实现了软件架构的设计思想。

以我的项目为案例

绘制三层架构模型图

三层架构将整个业务应用划分为:表示层,业务层和持久化层。区分的目的就是为了“高内聚低耦合”的设计思想。 三层架构模型

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

  1. 前后端逻辑分离,模块利于分类,有利于分工并行开发
  2. 将不同的表示,逻辑与数据分离,提现高内聚低耦合思想
  3. 有利于开发人员在开发时根据其负责的不同层,只关注其中的某一层
  4. 是的开发的项目结构更加清楚,分工明确。

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

    VUE是一套构建用户界面的渐进式框架,其只关注视图层,采取自底向上增量开发的设计。 Flux是一个由Facebook为其应用所设计的应用程序架构,其应用了CQRS模式思想。

    相同

    架构设计中都有视图层的概念。

    不同

    VUE是一个具体的开发框架而Flux只是一个软件架构,可以通过多种方式实现,如VUE框架中就有vuex组件实现了Flux架构。