好消息!从4.2版本开始,我们将企业扩展(“Event Script”)合并到了Mercury事件驱动编程基础代码库中。这是一个用于编写可组合应用程序(包括微服务和无服务器)的全面工具包。
该技术的规范记录在美国专利申请18/459,307中。
源代码根据Apache 2.0许可证提供,不提供任何形式的担保。
该项目同时提供Java和Node.js两种语言版本。
对于Java,请访问Mercury Composable for Java。
对于Node.js,请浏览Mercury Composable for Node和Composable-example。
2025年1月
可组合性方法为从领域驱动设计(DDD)、事件驱动架构(EDA)到应用软件设计和实现提供了一条清晰的路径,将产品经理、领域知识所有者、架构师和工程师联系在一起,共同交付高质量的产品。
该方法减少了人工智能代码助手的问题空间,因为每个函数都是自包含的、独立的,且输入输出是不可变的。
此外,Event Script是一种领域特定语言(DSL),经过一些微调后可以被人工智能代理理解,从而使整个生态系统对人工智能友好。
设计一个可组合应用程序分为三个步骤:
我们将通过一个可组合应用程序示例来说明这种方法。
软件开发是一场持续对抗复杂性的战斗。随着时间的推移,代码库可能会变得混乱不堪,阻碍创新和维护。本文介绍了可组合设计模式,这是一种强大的方法,用于构建模块化、可维护且可扩展的应用程序。
我们都遇到过这种情况:代码就像一盘意大利面——依赖关系错综复杂,隐藏着逻辑,当需要修改时,会有一种恐惧感。这些代码库很难测试、调试和更新。可组合设计模式提供了解决方案。
软件开发方法论随着硬件的进步而发展。在早期,开发者注重效率,由于可用的库有限,他们从头开始编写代码。框架的兴起带来了结构和样板代码,但也引入了潜在的僵化性。
函数式编程强调纯函数和不可变数据,为可组合设计铺平了道路。这种方法鼓励将应用程序构建为一系列定义良好的函数链,每个函数都有明确的输入和输出。
事件驱动架构通过使用事件触发函数来补充这种方法。这种松耦合促进了模块化和可扩展性。
在核心,可组合设计强调两个原则:
尽管看似简单,但实现可组合设计可能涉及一些初始复杂性。
以下是这种方法的分解:
可组合设计模式为构建可维护、可扩展且未来无忧的应用程序提供了一种强大的范式。通过拥抱自包含函数和事件驱动通信的原则,你可以克服复杂性,编写出令人愉悦的代码。