为什么在构建 Web 应用时架构的选择是如此的重要?确定架构是好是坏的标准是什么?本文介绍如何在设计支持你当前需求的Web 应用架构的同时不给未来埋坑。
为什么 Web 应用架构很重要?
Web 应用架构包括所有软件模块和组件、内部和外部系统、以及构成应用程序的之间的交互。除了解决开发开始时的所有业务需求,架构还能够确保满足所有非功能性要求(例如可维护性和敏捷性)。
具有良好结构的 Web 应用架构能确保你的 Web 应用可以扩展为业务需求,同时确保能够正确的隔离所有概念,而且能够考虑其相互之间的依赖性。总的来说,应用程序的体系结构不仅可以保证在独立的体系上正常运行,同时也应该能够与所有的其他软件很好的集成。
好的 Web 应用架构应该是什么样的?
首先架构是聚合了很多事件的多个过程。它不是静态的:否则你只能创建一个充斥着各种知识的架构。 例如受疫情影响,从 2020 年开始流行远程办公,没有人可以预测到需要全局锁定,并要确保所有员工必须能够远程访问每个业务服务。但即使在颠覆性较少的年份中也会出现一些新业务、新用例和新工具等,这些因素都会使你不断去迭代自己的核心架构。
如果你知道自己的架构必须迭代进化,那么你是否在应用的不同部分之间跟踪了依赖关系?如果你必须进行修改,你是否可以清楚地说出需要做出哪些变化?你是否能够做到尽量减少所带来的影响?
Web 架构质量的核心基准是能够避免产生技术债的程度。所谓的技术债指的是在项目开始时做出了错误的决定而导致返工,从而带来时间、努力和金钱上的成本。一个很好的软件架构能够使你应对不可避免的变化,而不会以技术债的方式产生。所以在某种程度上只有时间才能判断你的架构是否是明智的。
出错的成本有多大?
在架构上出错所带来的问题主要是技术债。由于架构设计不佳,技术债快速升级:任何一点修改都会对诸多不同的应用产生重大影响,意识不到未来的变化就意味着新增的代码会在你的应用中四处引爆各种各样的问题,同时在试图修复这些问题时又会引入新的问题。一个简单的应用很容易变成一个复杂而庞大的怪物,使变化更加困难和耗时,并会极大的影响到业务的创新和迭代。
健全 Web 应用架构的核心原则
在下图中,按照所谓的核心业务“实体”的方法,OutSystems 就是你要创建的服务的基础组成部分。其目的是把功能集中在一起并在整个产品组合中重复使用 。如果需要进行更改,则只修改一次就行了,并且每个人都能够使用。所以 Outsystems 的目标不是单个应用程序,而是一个应用程序的组合:只有在多个应用中重复使用单个服务时,整个平台才能带来明显的好处并体现出其价值。
本文首发微信公众号:前端先锋
欢迎扫描二维码关注公众号,每天都给你推送新鲜的前端技术文章
欢迎继续阅读本专栏其它高赞文章:
- 深入理解Shadow DOM v1
- 一步步教你用 WebVR 实现虚拟现实游戏
- 13个帮你提高开发效率的现代CSS框架
- 快速上手BootstrapVue
- JavaScript引擎是如何工作的?从调用栈到Promise你需要知道的一切
- WebSocket实战:在 Node 和 React 之间进行实时通信
- 关于 Git 的 20 个面试题
- 深入解析 Node.js 的 console.log
- Node.js 究竟是什么?
- 30分钟用Node.js构建一个API服务器
- Javascript的对象拷贝
- 程序员30岁前月薪达不到30K,该何去何从
- 14个最好的 JavaScript 数据可视化库
- 8 个给前端的顶级 VS Code 扩展插件
- Node.js 多线程完全指南
- 把HTML转成PDF的4个方案及实现
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。