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

  1. 描述软件架构与框架之间的区别与联系:
    (1)软件架构:是一个系统的草图,描述的对象是直接构成系统的抽象组件,各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。
    (2)软件框架:面向某领域(包括业务领域如ERP和计算领域如GUI)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供一系列定义良好的可变点以保证灵活性和可扩展性。可以说,软件框架是领域分析结果的软件化,是领域内最终应用系统的模板。

    a. 区别:架构不是软件,框架是一种特殊的软件
    (1)架构不是软件,而是关于软件如何设计的重要策略。软件架构决策设计到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中;当然,引入软件架构之后,整个开发过程变成了“分两步走”,而架构决策往往会体现在框架之中。
    (2)框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的基础服务被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。

    b. 联系:
    软件架构是引导如何设计软件框架的重要决策。它决定了软件系统如何划分,在一定程度上描述了被划分的各个部分之间的静态、动态关系。软件架构的决策体现在软件系统的框架中。

  2. 以你的项目为案例:
    绘制三层架构模型图,细致到分区:
    架构模型图
    结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利:
    a. 三层架构(UI层、Domain层、Technical层)使程序不同层之间的耦合度降低,可以充分把软件开发任务分解,有利于团队合作开发。开发人员可以只关注整个结构中的某一层,有利于控制软件开发的质量,充分发挥版本控制和单元测试。
    b. 三层架构的软件适应性很强,需求变动时可以很快更改代码,因此代码的复用性高,降低了软件的开发成本。

  3. 研究 VUE 与 Flux 状态管理的异同:
    (1)异:主要体现在对数据流的管理方式不同
    VUE:状态管理由Vuex实现,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
    Vuex的核心包括:
    a. state:定义了应用状态的数据结构,同样可以在这里设置默认的初始状态
    b. getters:从state中派生出状态,比如获取state中todoLists的总数
    c. mutations:唯一允许更新应用状态的地方
    d. actions:定义提交触发更改信息的描述,在actions中可做任意异步操作

    Flux:数据在应用中单向流动,即所谓的“单向数据流”。
    1)Flux将应用分成四个部分:
    a. View:视图层
    b. Action(动作):视图层发出的消息(比如mouseClick)
    c. Dispatcher(调度器):用来接收Actions、执行回调函数
    d. Store(数据层):用来存放应用的状态,一旦发生变动,就提醒Views要更新页面
    2)Flux最大的特点就是数据的单向流动,过程如下:
    a. 用户访问 View
    b. View 发出用户的 Action
    c. Dispatcher 收到 Action,要求 Store 进行相应的更新
    d. Store 更新后,发出一个”change”事件
    e. View 收到”change”事件后,更新页面

    (2)同:Flux 是一种源于MVC架构无法满足复杂的扩展需求而产生的架构思想,专门解决软件结构问题。VUE和Flux状态管理都基于这种思想,通过严格管理数据流来规范数据在客户端 Web 应用的流动方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值