By Noxxxx from https://interview.noxxxx.com/?post_type=post&p=12 上山打老虎
欢迎分享与聚合,尊重版权,可以联系授权
简单的来讲:
框架:是用于构建软件应用程序的工具或一组工具和实践,它包括了预定义的功能和结构,旨在解决特定的问题,从而更有效的用于开发代码。因此框架是集合了【规范】【工具】【最佳实践】等相关特点的一套解决方案,这个方案是以一个工具的形式展现的。
架构:是指软件系统的整体设计,是一种思路的体现,包括但不限于组成部分、这些部分之间的关系,以及相关的设计原则,展开来讲就是【模块如何划分】【如何通信】【状态流转】【错误处理】【性能优化】等具体的实施方式。通过这种方式,为了让我们的系统能够能够具备【高可靠性】【易维护性】【可扩展性】【良好的性能】等优点。
同时架构是需要权衡利弊,是现有资源约束下的最合理决策,最终明确的系统骨架,包括子系统、模块、组件之间如何协作联系,约束规范,指导原则。
系统性思考的合理决策:比如技术选型、解决实施方案(包括执行目标计划)、成本评估、性价比评估等等。
结构:明确系统有哪些构件组成
连接:系统协作关系:各个组成部分如何协作来实现业务请求。
规范:约束规则和指导原则,保证系统有序、高效、稳定运行、包括规范,上线流程等