2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Qi4j 提出面向组合编程思想

  • 2007-11-20
  • 本文字数:1073 字

    阅读完需:约 4 分钟

本周Rickard Oberg 在oredev 上宣布推出Qi4j,并宣称“类已死,接口万岁”。 Qi4j 带来了面向组合编程的新思想,提出类中不再放有任何的行为,取而代之的是,类成为混入(mixins)的‘组合’,并在类中使用标注定义接口。 Qi4j 本身是一个提供给所有 java 开发者使用的面向组合编程的 Java 框架。尽管面向组合编程需要较大的思想转变,但是面向组合编程不需要单独的工具、语言或 XML。Qi4j 的应用程序可以在 Spring 应用软件、Web 应用容器、OSGi 和其他地方运行。Qi4j 大量使用了标注,以此摆脱框架特定的知识,让开发者更关注业务规则。项目创始人 Rickard Öberg 和 Niclas Hedhman 在新闻稿中这样描述:

Niclas Hedhman 说:“Qi4j 是一个以领域为中心的应用开发框架,融入了从面向方面编程、依赖注入和领域驱动设计演化而来的思想,利用了 Java 5 平台和其生态系统”。Niclas Hedhman 是长期从事于 Java 框架的开发者,并且现在是 Apache 的活跃成员。

Rickard Öberg 说:“我需要一个能使领域模型和业务规则再度成为关注焦点、让领域专家和开发者能够清晰沟通的系统” 。Rickard Öberg 是以前 JBoss、Webwork 和 XDoclet 的创始人。

由于这仅仅只是框架和范型最初的展示,文档和例子还比较少。但是,面向组合编程的目标是完成从对象思考到组合思考的转变。组合由可复用的片段(fragments)组成。片段是Qi4j 的组成块 。片段携带组合成员的状态(在 mixins(混入)中)、验证和约束它们的使用(在约束(constraints)中)、处理横切点(在关注点(concerns)中)、并提供通知、缓存和撤销管理,以及其他异步需求(在副作用中)。编程范型的转变并不是件容易的事情。Oberg 这样描述对面向组合编程的反应:

人们一贯有两种反应:一是试图从脑海中扫除源于旧有经验的坏主意而头疼欲裂,一是理解我们所提思想的潜力而发出心领神会的微笑。

Qi4j 仍在更新,并且不稳定。此时,他们仍在致力于稳定框架,同时将面向组合编程思想推介给社区, 希望借此获得继续发展。他们也承认目前还没有充分准备好让大家深入到这个框架中,并建议大家在未来数个月中先侧重于概念理解。

查看英文原文: Qi4j introduces Composite Oriented Programming - - - - - -

译者简介:王军,长期从事软件开发工作,实际项目偏重于 JBOSS 平台上构建网管软件。对于性能测试工具有较多的关注,关心软件技术和相关工具的动态,将其中相对成熟的技术和工具应用到实际的项目之中。长期担任技术管理和项目管理工作,一直关心开源软件的发展动态以及软件过程和敏捷开发的实践探索。参与 InfoQ 中文站内容建设,请邮件至 china-editorial@infoq.com

2007-11-20 01:173422

评论

发布
暂无评论
发现更多内容

为时序数据库 IoTDB 底层架构“保驾护航”,来听听新晋 Committer 的贡献心路!

Apache IoTDB

把Nano Banana设计图送进工厂车间,造好物用了三步

脑极体

AI

限行提醒小程序介绍

微擎应用市场

政务预约系统介绍

微擎应用市场

Strands Agents SDK 助力翰德 Hudson 实现智能招聘新突破

亚马逊云科技 (Amazon Web Services)

KaiwuDB X 智慧船舶:一库多赢,破解船舶系统数据高并发难题

KaiwuDB

数据库

零售业将在 2025 年引领 RFID 革命

斯科信息

斯科信息 RFID技术 RFID门禁系统 RFID收银设备

YashanDB支持的数据库监控工具及实现方法

数据库砖家

黑龙江等保测评公司选择关键维度:服务能力与适配性

等保测评

YashanDB智能分片技术介绍与应用指南

数据库砖家

哈尔滨二级等保办理全流程:从准备到完成的清晰指引

等保测评

AI GEO领域发展机遇大

跑一跑

geoai

大数据-93 SparkSQL 全面解析:SQL + 分布式计算的完美结合

武子康

Java 大数据 flink spark 分布式

如何在 Unity3D 中实现无缝滚动动画?

北桥苏

YashanDB支持的接口与API使用方法详解

数据库砖家

YashanDB支持的数据模型类型及应用场景

数据库砖家

YashanDB支持的数据库事务类型及应用分析

数据库砖家

CST软件如何确定Floquet模数和背景距离

思茂信息

cst cst仿真软件 CST软件 CST Studio Suite

区块链U卡APP的的开发过程

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

YashanDB支持的高级SQL特性实践

数据库砖家

YashanDB支持的数据库加密技术详解

数据库砖家

BongoCat - 可爱的桌面互动猫咪

qife122

Vue3 桌面宠物 交互式应用

从条形码到智能跟踪:物联网和RFID如何共同发展

斯科信息

RFID标签

【西京学院主办】第九届电气、机械与计算机工程国际学术会议(ICEMCE 2025)

搞科研的小刘

学术会议 国际会议

黑龙江等保测评公司选择进阶考量:口碑与可持续合作

等保测评

第三届人工智能与自动化控制国际学术会议(AIAC 2025)

搞科研的小刘

人工智能 自动化 学术会议

ElevenLabs 估值翻倍至 66 亿美元;B 站开源 IndexTTS2;通义推出 Qwen3-ASR-Flash丨日报

声网

YashanDB支持的数据加密传输技术剖析

数据库砖家

YashanDB支持的用户权限管理与安全策略

数据库砖家

猜灯谜赢大奖系统介绍

微擎应用市场

定档!对话式 AI 和 Voice Agent Builder 的年度春晚,来 Convo AI & RTE2025 一探究竟

声网

Qi4j提出面向组合编程思想_Java_Rob Thornton_InfoQ精选文章