系统分析与设计作业8

系统分析与设计作业8

  • 描述软件架构与框架之间的区别与联系
  • 以你的项目为案例
    • 绘制三层架构模型图,细致到分区
    • 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
  • 研究 VUE 与 Flux 状态管理的异同
软件架构与框架之间的区别与联系
  • 定义
    • 软件架构:软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。软件架构并不仅仅关注软件本身的结构和行为,还注重其他特性:使用、功能性、性能、弹性、重用、可理解、经济以及技术的限制和权衡等。
    • 软件框架:软件框架是面向领域(如ERP、计算领域等)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。也就是说软件框架是领域分析结果的软件化,是领域内最终应用的模板。
  • 区别:框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务尅被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。
    架构不是软件,而是关于软件如何设计的重要策略。软件架构决策设计到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中,我们不能指着某些代码,说这就是软件架构,因为软件架构是比具体代码高一个抽象层次的概念。架构势必被代码所体现和遵循,但任何一段具体的代码都代表不了架构。
  • 联系:框架技术和架构技术的出现,都是为了解决软件系统日益复杂所带来的困难而采取“分而治之”思维的结果—–先大局后局部,就出现了架构;先通用后专用,就出现了框架。软件架构是引导如何设计软件框架的重要决策。它决定了软件系统如何划分,在一定程度上描述了被划分的各个部分之间的静态、动态关系。软件架构的决策体现在软件系统的框架中。软件架构指导软件框架的设计,而软件框架是一种或多种架构的组合的实现。
绘制三层架构模型图,并说明三层架构给开发人员带来的便利。

这里写图片描述

三层架构给开发人员带来的便利
  • 开发人员可以只关注整个结构中的其中某一层
  • 可以很容易的用新的实现来替换原有层次的实现;
  • 可以降低层与层之间的依赖;
  • 有利于标准化;
  • 利于各层逻辑的复用
  • 扩展性强。不同层负责不同的层面
  • 安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
  • 项目结构更清楚,分工更明确,有利于后期的维护和升级
研究 VUE 与 Flux 状态管理的异同
  • 同:Flux和VUE的状态管理都是通过对数据流进行严格管理来规范数据在 Web 应用中流动方式的框架。
  • 异:
    • 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、付费专栏及课程。

余额充值