适用于所有层的编程语言
Posted: Thu Jan 30, 2025 6:20 am
MEAN Stack 是一个全栈 JavaScript Web 框架,用于轻松快速地开发 Web 应用程序。技术栈由面向文档的NoSQL数据库MongoDB、服务器端Web框架Express、客户端前端框架AngularJS和服务器端运行环境Node.js组成。 “MEAN”这个名字代表这四个组件的首字母,最初来自 MongoDB 开发人员 Valeri Karpov,他在 4 月份的博客文章“MEAN Stack:MongoDB、ExpressJS、AngularJS 和 Node”中描述了 MEAN 堆栈2013 年 2 月 29 日.js”,并于一天后在官方MongoDB 博客上向更多受众展示。
例如,与基于 LAMP 或 Java EE 堆栈的 Web 框架不同,在 MEAN 堆栈中,JavaScript 被用作整个前端、后端甚至数据库内的主要且唯一的编程语言,以简化和加速开发过程。公平地说,必须说在客户端和服务器端一致使用 JavaScript 的想法并不新鲜。自 Node.js 开发以来,过去一直致力于建立全栈 JavaScript 框架。
适用于所有层的编程语言听起来不错,但实际上,MEAN 堆栈与层更 拉斯维加斯电子邮件列表 改时发生的“范式中断”相关。在 MEAN 堆栈中,前端使用 AngularJS 以 MVVM 模式进行编程,后端使用 Express 进行管道和过滤器样式编程。因此,前端开发不能与后端开发相比较。一致的编程语言当然会使上下文切换变得更容易,但它仍然存在。
MEAN 堆栈的流行可能是由于各个组件的流行。另一方面,严格意义上的 MEAN 堆栈指定了各个组件,并且 MEAN 堆栈的应用场景对应于各个组件的应用场景的最小公分母。
这意味着:在 MEAN 堆栈中,文档在客户端和服务器之间以 JSON 格式交换,并保存在 NoSQL 数据库 MongoDB 中。当文档包含 Eric Evans (2003)“领域驱动设计”概念意义上的聚合时,这解决或至少减少了对象关系阻抗失配问题。
在领域驱动设计中,聚合被定义为包含以下数据的子结构:
专业上属于一体,
必须保持一致并且
在交易中被改变。
当然,该框架并不能减轻我们对应用程序域进行建模和切割合适聚合的任务。然而,如果领域模型可以自然地转换为聚合,那么与经典的 RDBMS 相比,可以更轻松、更快速地开发应用程序。只要聚合是焦点并且数据的组织在大多数情况下不会改变,基于聚合的数据库就是有益的。
如果数据的组成频繁变化(例如用于报告),通常必须使用 Map-Reduce 批处理作业来计算新的聚合,这既耗时又复杂。然而,在 SQL 中,可以更轻松地重新组织数据。例如,您可以使用 JOIN 子句轻松集成不同类型的表。简而言之,NoSQL 以及 MEAN 堆栈并不能解决所有问题。
例如,与基于 LAMP 或 Java EE 堆栈的 Web 框架不同,在 MEAN 堆栈中,JavaScript 被用作整个前端、后端甚至数据库内的主要且唯一的编程语言,以简化和加速开发过程。公平地说,必须说在客户端和服务器端一致使用 JavaScript 的想法并不新鲜。自 Node.js 开发以来,过去一直致力于建立全栈 JavaScript 框架。
适用于所有层的编程语言听起来不错,但实际上,MEAN 堆栈与层更 拉斯维加斯电子邮件列表 改时发生的“范式中断”相关。在 MEAN 堆栈中,前端使用 AngularJS 以 MVVM 模式进行编程,后端使用 Express 进行管道和过滤器样式编程。因此,前端开发不能与后端开发相比较。一致的编程语言当然会使上下文切换变得更容易,但它仍然存在。
MEAN 堆栈的流行可能是由于各个组件的流行。另一方面,严格意义上的 MEAN 堆栈指定了各个组件,并且 MEAN 堆栈的应用场景对应于各个组件的应用场景的最小公分母。
这意味着:在 MEAN 堆栈中,文档在客户端和服务器之间以 JSON 格式交换,并保存在 NoSQL 数据库 MongoDB 中。当文档包含 Eric Evans (2003)“领域驱动设计”概念意义上的聚合时,这解决或至少减少了对象关系阻抗失配问题。
在领域驱动设计中,聚合被定义为包含以下数据的子结构:
专业上属于一体,
必须保持一致并且
在交易中被改变。
当然,该框架并不能减轻我们对应用程序域进行建模和切割合适聚合的任务。然而,如果领域模型可以自然地转换为聚合,那么与经典的 RDBMS 相比,可以更轻松、更快速地开发应用程序。只要聚合是焦点并且数据的组织在大多数情况下不会改变,基于聚合的数据库就是有益的。
如果数据的组成频繁变化(例如用于报告),通常必须使用 Map-Reduce 批处理作业来计算新的聚合,这既耗时又复杂。然而,在 SQL 中,可以更轻松地重新组织数据。例如,您可以使用 JOIN 子句轻松集成不同类型的表。简而言之,NoSQL 以及 MEAN 堆栈并不能解决所有问题。