Class is dead, interface Long live: QI4J proposed the idea of the combination programming __ programming

Source: Internet
Author: User
This week Rickard Oberg announced the launch of Qi4j on Oredev and declared that "the class is dead and the interface is long live." Qi4j brings a new idea for combinatorial programming, proposing that there is no longer any behavior in the class, instead, the class becomes a ' combination ' of mixed (mixins) and uses annotations in the class to define the interface.
QI4J itself is a Java framework for combinatorial programming that is available to all Java developers. Although it requires a great change of thought for combinatorial programming, it does not require a separate tool, language or XML for combinatorial programming. QI4J applications can be run in spring applications, Web application containers, OSGi, and elsewhere. QI4J uses annotations extensively to get rid of framework-specific knowledge and to make developers more focused on business rules. Project founder Rickardöberg and Niclas Hedhman in a press release that describes:

Niclas Hedhman said: "Qi4j is a domain-centric application development framework incorporating ideas from aspect-oriented programming, dependency injection and domain-driven design, leveraging the Java 5 platform and its ecosystem." Niclas Hedhman is a long-time developer in the Java framework and is now an active member of Apache.

"I need a system that allows domain models and business rules to become a focus again, allowing domain experts and developers to communicate clearly," Rickardöberg said. Rickardöberg was formerly the founder of JBoss, WebWork and Xdoclet.

Since this is just the initial presentation of the framework and paradigm, there are fewer documents and examples. However, the goal of combinatorial programming is to accomplish the transformation from object thinking to combinatorial thinking. The combination consists of reusable fragments (fragments). Fragments are the constituent blocks of a qi4j. The fragment carries the state of the combined member (in mixins), validate and constrain their use (in Constraints (constraints)), handle pointcuts (in the focus point (concerns)), and provide notification, caching, and revocation management, and other asynchronous requirements (in side effects). The transformation of programming paradigm is not an easy task. Oberg This describes the response to a combination-oriented programming:

There are always two responses: one is to try to remove from the mind the bad idea that originated from the old experience and to crack the pain, the first is to understand the potential of our thoughts and give a hint of the smile.

The qi4j is still being updated and unstable. At this point, they are still working on the stability framework while introducing the idea of combinatorial programming to the community in the hope that it will continue to evolve. They also acknowledge that they are not fully prepared to go into the framework and suggest that you focus on conceptual understanding in the coming 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.