写点什么

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

评论

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

Android架构组件JetPack之Room(三),Android大厂74道高级面试合集

android 程序员 移动开发

Android热修复基础篇(一),flutter图片压缩

android 程序员 移动开发

Android研发大厂面试记:阿里,字节,腾讯android面试题目

android 程序员 移动开发

Android程序员的Java后台学习建议,2021最新Android中级面试题目汇总解答

android 程序员 移动开发

Android组件化开发的意义何在?,androidui开发框架

android 程序员 移动开发

Android插件化-Service篇,flutter通知推送

android 程序员 移动开发

Android数据库的使用(增删改查),移动开发工程师

android 程序员 移动开发

Android知识笔记:记录 2 个 “容易误解(1),【干货】

android 程序员 移动开发

Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)

android 程序员 移动开发

Android架构设计——MVC,flutterrow居中

android 程序员 移动开发

Android程序员现状:没有架构师的命,却得了架构师的病

android 程序员 移动开发

【LeetCode】删除链表中的节点Java题解

Albert

算法 LeetCode 11月日更

Android插件化主流框架和实现原理,一举拿下腾讯美团滴滴offer

android 程序员 移动开发

Android源码-一文带你搞懂OkHttp,kotlin高阶函数

android 程序员 移动开发

Android知识笔记:记录 2 个 “容易误解,网易的朋友给我这份339页的Android面经

android 程序员 移动开发

Android篇:2019初中级Android开发社招面试解答(上,作为Android开发者

android 程序员 移动开发

Android性能优化:这是一份全面&详细的内存优化指南,Flutter最新开源框架

android 程序员 移动开发

Android文件系统总结——从-Android-Q-,面试必备知识点

android 程序员 移动开发

Android模拟面试,解锁大厂—,这些面试题你会吗

android 程序员 移动开发

Android源码解析——Handler,看完直接跪服

android 程序员 移动开发

微信朋友圈的高性能复杂度分析

stars

架构训练营

Android技能树 — Activity小结,【深夜思考

android 程序员 移动开发

自动驾驶汽车如何工作? 易筋 ARTS 打卡 Week 74

John(易筋)

ARTS 打卡计划

Android篇:2019初中级Android开发社招面试解答(中,跨平台app开发框架排名

android 程序员 移动开发

Android网络优化攻略,简单了解一下?,图文详解

android 程序员 移动开发

Android春招面经分享:一个Android渣渣终于拿到了一个offer

android 程序员 移动开发

Android架构之LiveData组件,原理竟然是这

android 程序员 移动开发

Android热修复基础篇(二),android设计模式面试题

android 程序员 移动开发

Android第三方库收藏汇总,移动应用开发框架

android 程序员 移动开发

Android系统启动流程(一)解析init进程启动过程,安卓移动开发基础案例教程

android 程序员 移动开发

Android系统架构与系统源码目录,灵魂一问-如何彻底防止APK反编译

android 程序员 移动开发

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