描述软件架构与框架之间的区别与联系
- 区别
软件架构:软件架构描述的对象是直接构成系统的抽象组件以及各个组件之间的连接,这些连接明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象,组件之间的连接通常用接口来实现。
软件框架:软件框架描述了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。软件框架是领域分析结果的软件化,领域内最终应用的模板。
- 联系
框架是一种或多种架构的组合的实现。
框架技术和架构技术都是通过分治的方法解决软件系统日益复杂所带来的困难。
以我的项目为案例:绘制三层架构模型图,细致到分区
- 结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
三层架构可以降低系统的耦合度和依赖性,提高复用性和扩展性,做到关系分析,服务分离。开发过程中程序员只需要关注三层中的一层,提高了关注度。
研究 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检测到数据变化自动渲染)