Welcome to Component Development
C³ is an extension to Java language which provides you new Component features. Component will help you structure your softwares. It is a great tool to avoid spaghetti coding. It is not intended to replace object, but it adds new higher abstractions which can be seen as black boxes. With it, it is easier to divide your source code in a human understable manner. C³ comes also whith some features attached to black box which will help you to better control data flow between the different components and also their dependencies.
The two main C³ benefits are :
- POJO like event type, without unnecessary pumbling properties. This way your components are more functional and more readable. Several kinds of architecture and design are based on event. Having a simple way to implement events, is a major point. Focus on domain not on technical.
- 100% Java, no XML or manifest text file to describe components. Service and Events are typed, therefore the compiler does lots of checks for you. The depency injection, to consume event and to use service, is explicit in Java and without XML description. Keep it simple, component should describe itself.
As the adage says "A picture is worth a thousand words", have a look to the below picture on which you are able to see the main abstractions of C³ component
Getting started
A very important point about C³ is its simplicity. It is light. All you need is the library "c3.jar" and with few lines of code, you will write your first components. Just follow the tutorial available in the download page.
Get involved
C³ is an open source project. Sources are available on GitHub, at the following link : github.com/CapCaval/C3