Class dead, long live interface: qi4j proposes the idea of combined programming

Source: Internet
Author: User
Rickard Oberg announced the launch of qi4j at oredev this week and declared that "the class is dead, long live interface ". Qi4j brings a new idea for composite programming, and proposes that classes do not have any behavior. Instead, classes become 'composite 'of mixins ', use the annotation definition interface in the class.
Qi4j is a Java framework designed for all Java developers to use in combination. Despite the great ideological transformation required for composite programming, composite programming does not require separate tools, languages, or XML. Qi4j applications can run in spring applications, web application containers, osgi, and other places. Qi4j uses annotations extensively to get rid of framework-specific knowledge and enable developers to pay more attention to business rules. The project's founders Rickard öberg and niclas hedhman described in the press release as follows:

Niclas hedhman said: "qi4j is a domain-centered application development framework that incorporates ideas from the evolution of Aspect-Oriented Programming, dependency injection, and domain-driven design, using the Java 5 platform and its ecosystem ". Niclas hedhman is a developer who has been engaged in Java frameworks for a long time and is now an active member of Apache.

Rickard öberg said: "I need a system that enables Domain Models and business rules to become the focus again and enables clear communication between domain experts and developers ". Rickard öberg is the former founder of JBoss, webwork, and XDoclet.

Since this is only the initial presentation of the framework and model, there are still few documents and examples. However, the goal of composite programming is to complete the transformation from object thinking to composite thinking. A combination consists of reusable fragments. Fragment is a component of qi4j. Fragment carries the status (in mixins) of the composite Members, verifies and limits their use (in constraints), and processes the cross-cutting points (in concerns) and provides notification, cache, and Revocation Management, as well as other asynchronous requirements (in the case of side effects ). The transformation of programming paradigm is not easy. Oberg describes the response to composite programming in this way:

People have always had two kinds of reactions: one is to try to eliminate the headache from the old experienced bad idea, the other is to understand the potential of our ideas and make a smile.

Qi4j is still being updated and unstable. At this time, they are still working on a stable framework, while introducing the idea of combined programming to the community, hoping to continue to develop. They also admitted that they are not yet fully prepared to let everyone go deep into this framework, and they suggest that you focus on conceptual understanding in the next few months.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.