1、描述软件架构与框架之间的区别与联系
软件架构:
软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。设计软件架构就是把系统分解为一些部件,描述这些部件的职责及它们之间的协作行为。
软件框架:
软件框架是面向领域(如 ERP、计算领域等)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。也就是说软件框架是领域分析结果的软件化,是领域内最终应用的模板,是特定语言和技术的架构应用解决方案。
区别:
软件架构不是软件,而是关于软件如何设计的重要决策。软件架构决策涉及到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中;当然,引入软件框架之后,整个开发过程变成了“分两步走”,而架构决策往往会体现在框架之中
框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务可以被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”
联系:
软件架构是引导如何设计软件框架的重要决策。它决定了软件系统如何划分,在一定程度上描述了被划分的各个部分之间的静态、动态关系。软件架构的决策体现在软件系统的框架中
2、以你的项目为案例绘制三层架构模型图,细致到分区
image.png3、结合你程序的结构,从程序员角度说明三层架构给开发者带来的便利
三层架构降低了耦合度,提高了复用性,而且将模块划分得更加清晰,便于分工开发,提高团队开发效率
每个层次之间定义接口,层次内部实现不关注,便于层内实现的修改,也有效提高了系统的可扩展性
4、研究 VUE 与 Flux 状态管理的异同
异:
- Flux数据流的顺序是:View发起Action->Action传递到Dispatcher->Dispatcher将通知Store->Store的状态改变通知View进行改变
- Vuex数据流的顺序是:View调用store.commit提交对应的请求到Store中对应的mutation函数->store改变生成新的state(vue检测到数据变化自动渲染)
- Flux是一种前端状态管理架构思想,专门解决软件的结构问题。基于Flux的设计思想,出现了一批前端状态管理框架,其中包括了Vuex。Vuex是Flux的一个实现。
- 在Vuex中本身就内置State对象,对仓库的管理更加明确。
- Vuex有自动渲染的功能,所以不需要更新。
- Vuex多个组件调用一个状态,将原来组建与组件之间的状态传递改成组件与仓库之间的传递。
同:
- 都通过store来存储状态。
- 都提供数据驱动、可组合搭建的视图组件。
- Flux最早提出作为对传统前端MVC的一种改进,Vuex基于Flux并且吸收了它的一些特点。
网友评论