写点什么

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

评论

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

云电脑和一体机有什么区别?

青椒云云电脑

云电脑 桌面云一体机 云桌面一体机

如何教会小白使用淘宝API接口获取商品数据

Noah

智能双录解决方案助力保险代销机构探索市场新机遇

中关村科金

保险 智能双录

当创建statefulset资源后,k8s组件如何协作

华为云开发者联盟

云原生 k8s 华为云 华为云开发者联盟

每日一题:LeetCode-151. 反转字符串中的单词

Geek_4z9ami

Go 面试 算法 LeetCode 字符串

【写作训练营打卡|04】

王炸升级!PartyRock 10分钟构建 AI 应用

伤感汤姆布利柏

人工智能

学校建设云教室方案应该考虑哪些?

青椒云云电脑

云教室 云教室解决方案

软件测试/人工智能|一文告诉你Python集合相关知识

霍格沃兹测试开发学社

一个 41 岁老程序员的 2023 年总结 - 利用 AI 延长自己的编程寿命

汪子熙

人工智能 AI 总结思考 ChatGPT 2023年

国内外免费的SCADA软件工具有哪些?

2D3D前端可视化开发

物联网 组态软件 SCADA软件 组态工具 HMI系统

3DCAT+上汽奥迪:打造新零售汽车配置器实时云渲染解决方案

3DCAT实时渲染

实时云渲染 实时渲染云 汽车虚拟仿真 汽车3D可视化

春晚回应吉祥物“龙辰辰”被质疑 AI 合成;周星驰 Web3 团队下月上线独立 App 丨 RTE 开发者日报 Vol.102

声网

新一代私有云部署四大优势和案例解读

青椒云云电脑

云电脑平台

软件测试/人工智能|使用 Pip 管理 Python 包

霍格沃兹测试开发学社

教育行业为什么管理特权账号?

尚思卓越

运维 网络安全

如何给网页和代码做HTML加密?

大模型训练引领AI新时代

百度开发者中心

人工智能 大模型 LLM

软件测试/人工智能|一文告诉你Python字典知识

霍格沃兹测试开发学社

从概念到实践,带你掌握层次递归查询

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

大模型训练中CPU高负载与GPU低使用率的优化策略

百度开发者中心

gpu 大模型

如何构建适合工业设计企业的云端图形工作站?

青椒云云电脑

图形工作站

我还是无法忘记那个午夜,当oncall的告警响起

Java 工程师蔡姬

#on-call 21 天技术人写作行动营 #线上问题 #性能问题

当前最高4+级!大模型能力获信通院标准符合性验证

中关村科金

大模型 大模型评估

从内容生产到企业经营,大模型将如何改变数字营销?

中关村科金

大数据 大模型 智能营销

23年总结-对于开发者来说AI带来的影响和AI未来的趋势预测

肥晨

AI

大模型训练中错误数据集的影响及应对策略

百度开发者中心

大模型 人工智能’

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