系统分析与设计第八次作业

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

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

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


两者的区别:

框架是软件,架构不是软件。

框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务可以被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”

软件架构不是软件,而是关于软件如何设计的重要决策。软件架构决策涉及到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中;当然,引入软件框架之后,整个开发过程变成了“分两步走”,而架构决策往往会体现在框架之中。


两者的联系:

软件架构是引导如何设计软件框架的重要决策。它决定了软件系统如何划分,在一定程度上描述了被划分的各个部分之间的静态、动态关系。软件架构的决策体现在软件系统的框架中。总而言之,软件架构指导软件框架的设计,而软件框架是一种或多种架构的组合的实现。



二.以你的项目为案例:

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


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

    总的来说,使用三层架构可以做到关系分离、高级服务与低级服务分离、特定于应用的服务与一般性服务分离。三层架构可以减少耦合和依赖性、增强内聚性、提高潜在的复用性并且使概念更加清晰。从程序员的角度来说,底层的复用性较高,减少了开发者重复开发的必要,增强了代码的复用性,同时通过逻辑划分,大大降低了开发的难度。


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

相同之处:

        Flux 思想是为了解决传统 MVC 架构不能有效解决大型业务中复杂数据流的管理问题而产生的一种软件架构思想。VUE 和 Flux 的状态管理都是基于 Flux 思想的有效实现,通过对数据流进行严格管理来规范数据在 Web 应用中流动方式的框架。

不同之处:

        Flux将一个应用分为四个部分:

            ①View: 视图层

            ②Action:视图层发出的消息(比如mouseClick)

            ③Dispatcher(派发器):用来接收Actions、执行回调函数

            ④Store(数据层):用来存放应用的状态,一旦发生变动,就提醒Views要更新页面

        Flux的数据流顺序:

            View发起Action -> Action传递到Dispatcher -> Dispatcher将通知Store -> Store的状态改变通知View进行改变


        Vue状态管理核心:

    state:存放多个组件共享的状态(数据)

    mutations:存放更改state里状态的方法,用于变更状态,是唯一一个更改状态的属性

 getters:将state中某个状态进行过滤,然后获取新的状态,类似于vue中的computed

 actions:用于调用事件动作,并传递给mutation

 modules:主要用来拆分state

        Vue的数据流顺序:

            View调用store.commit提交对应的请求到Store中对应的mutation函数   ->   store改变生成新的state(vue检测到数据变化自动渲染)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值