为什么在构建 Web 应用时架构的选择是如此的重要?确定架构是好是坏的标准是什么?本文介绍如何在设计支持你当前需求的Web 应用架构的同时不给未来埋坑。
Web 应用架构包括所有软件模块和组件、内部和外部系统、以及构成应用程序的之间的交互。除了解决开发开始时的所有业务需求,架构还能够确保满足所有非功能性要求(例如可维护性和敏捷性)。
具有良好结构的 Web 应用架构能确保你的 Web 应用可以扩展为业务需求,同时确保能够正确的隔离所有概念,而且能够考虑其相互之间的依赖性。总的来说,应用程序的体系结构不仅可以保证在独立的体系上正常运行,同时也应该能够与所有的其他软件很好的集成。
首先架构是聚合了很多事件的多个过程。它不是静态的:否则你只能创建一个充斥着各种知识的架构。 例如受疫情影响,从 2020 年开始流行远程办公,没有人可以预测到需要全局锁定,并要确保所有员工必须能够远程访问每个业务服务。但即使在颠覆性较少的年份中也会出现一些新业务、新用例和新工具等,这些因素都会使你不断去迭代自己的核心架构。
如果你知道自己的架构必须迭代进化,那么你是否在应用的不同部分之间跟踪了依赖关系?如果你必须进行修改,你是否可以清楚地说出需要做出哪些变化?你是否能够做到尽量减少所带来的影响?
Web 架构质量的核心基准是能够避免产生技术债的程度。所谓的技术债指的是在项目开始时做出了错误的决定而导致返工,从而带来时间、努力和金钱上的成本。一个很好的软件架构能够使你应对不可避免的变化,而不会以技术债的方式产生。所以在某种程度上只有时间才能判断你的架构是否是明智的。
在架构上出错所带来的问题主要是技术债。由于架构设计不佳,技术债快速升级:任何一点修改都会对诸多不同的应用产生重大影响,意识不到未来的变化就意味着新增的代码会在你的应用中四处引爆各种各样的问题,同时在试图修复这些问题时又会引入新的问题。一个简单的应用很容易变成一个复杂而庞大的怪物,使变化更加困难和耗时,并会极大的影响到业务的创新和迭代。
在下图中,按照所谓的核心业务“实体”的方法,OutSystems 就是你要创建的服务的基础组成部分。其目的是把功能集中在一起并在整个产品组合中重复使用 。如果需要进行更改,则只修改一次就行了,并且每个人都能够使用。所以 Outsystems 的目标不是单个应用程序,而是一个应用程序的组合:只有在多个应用中重复使用单个服务时,整个平台才能带来明显的好处并体现出其价值。
Redis 官方在 2020 年 5 月正式推出 6.0 版本,提供很多振奋人心的新特性,所以...
John Au-Yeung 来源:medium 译者:前端小智 有梦想,有干货,微信搜索 【大迁世...
1.HTML5的内容类型 内容类型 描述 内嵌 向文档中添加其他类型的内容,例如audio...
简介: 企业上云多账号架构中,如何做到从上到下管理的同时,处理好员工的权限边...
复制代码 代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
先点赞再看,养成好习惯 前言 这两天在另一个社区看到了一个关于 Tomcat 的提问...
注释1:上图整个大背景是这个网页的全部尺寸,中间的小框才是浏览器中的可见尺寸...
data URI scheme 允许我们使用内联(inline-code)的方式在网页中包含数据,可以...
content属性一般用于::before、::after伪元素中,用于呈现伪元素的内容。平时con...
解决方法如下: 第一种 使用iframe,但是目前使用iframe的人已经越来越少了,而...