写点什么

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:173496

评论

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

ETL VS ELT企业应该怎么选择数据集成方式

谷云科技RestCloud

数据传输 数据同步 ETL ELT 数据集成平台

大型广告系统架构与设计

加勒比海带

Java 大数据 分布式 高并发 商业化

Browser Use 浏览器自动化 Agent:让浏览器自动为你工作

测试人

人工智能 软件测试

让鲜花不只绽放在手中:HarmonyOS助力花农直连市场

最新动态

AI如何赋能UI设计和代码生成?AI产品设计实战分享

职场工具箱

人工智能 AI 产品设计 代码生成 ui设计

为什么MES总要定制?低代码MES才是未来

万界星空科技

低代码 低代码平台 mes 万界星空科技mes 万界星空科技低代码平台

新客户 | TDengine 时序数据库赋能开源鸿蒙物联展区实时监控与展示

TDengine

tdengine 时序数据库

理论到实战,高可用架构踩坑说明书

京东零售技术

当便捷遇上复杂,低代码的路该怎么走?

引迈信息

奋斗正青春,HarmonyOS 5助音乐回归纯粹

最新动态

轻松管理项目进度:MZGantt甘特图工具入门指南

Tecjt_锦图科技

JavaScript vue.js 甘特图 插件 软件项目

TCA MCP Server | 释放代码潜能,开启极速开发

六月的雨在InfoQ

腾讯云MCP场景教程

HyperMesh什么是矩阵?

智造软件

仿真 Hypermesh 设计优化

元数据驱动开发:inBuilder破解数据库文档同步难题的实践

inBuilder低代码平台

华为Mate XTs三折叠登场!PC应用让移动办公比肩桌面效率

最新动态

Flink Parallelism、Flink Slot的关系

天翼云开发者社区

大数据 计算

《金铲铲之战》鸿蒙版9月25日上架,Mate XTs超宽视界颠覆游戏体验

最新动态

为什么越来越多的企业选择 iPaaS?一文读懂数据集成的未来

谷云科技RestCloud

API 数据同步 数据集成 集成平台 ipaas

“人工智能+”驶入快车道,和鲸联合联想、沐曦首发科研智能一体机

ModelWhale

联想 和鲸 科研智能一体机 沐曦

2025年8月文章一览

codists

Python

Kafka配置SASL_SSL认证传输加密

天翼云开发者社区

kafka 分布式消息服务

快递地址信息自动识别全攻略:从技术原理到落地实践

快递鸟

隐形猎鹰利用微软零日漏洞CVE-2025-33053的技术分析

qife122

网络安全 APT攻击

技术文章

qife122

人工智能 openai

Windows Server 2025 Active Directory权限提升漏洞检测工具

qife122

PowerShell ActiveDirectory

四季作曲家,HarmonyOS 5让音符玩起来

最新动态

面试官:如何确保动态线程池任务都执行完?

王磊

爱回收:拥抱HarmonyOS,引领回收行业新趋势

最新动态

数智先锋 | 重大活动零错误运行!Bonree ONE为安踏体育应用性能稳健护航

博睿数据

从汉语言文学学生到鸿蒙先锋:林子亿的跨界成长与生态探索

最新动态

2025 HarmonyOS 创新赛|对话刘子安:向外走,做鸿蒙开发的新生力量

最新动态

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