àˆ notizia di qualche giorno fa il rilascio della prima versione stabile di Qi4j (pronuncia: chee for jay).
Sicuramente meno noto rispetto alle soluzioni Java EE di big del settore quali SpringSource, JBoss e Oracle, è un framework ispirato dai principi del Domain-Driven Design e in parte a quelli di Aspect Oriented Programming e Dependency Injection; ad evidenziare il lavoro svolto, gli ideatori di Qi4j, in gran parte sviluppatori della scandinava JayWay, hanno coniato una definizione ad hoc: Composite Oriented Programming (COP).
Tra i principi cardine della COP:
- maggiore flessibilità degli oggetti, il cui comportamento dovrebbe essere più flessibile in relazione al contesto (tanto da rimproverare la classica programmazione OO di essere, nei fatti, più “Class-Oriented†che realmente “Object-Orientedâ€);
- forte incoraggiamento al disaccoppiamento (decoupling) tra classi;
- maggiore importanza alle business rules (a partire dal dominio applicativo);
- utilizzo massivo di interfacce a discapito delle classi.
Per i curiosi, caldamente consigliati tutorial e manualistica sul sito di Qi4j, nonché il sito di riferimento per il Domain-Driven Design in cui è segnalato l’omonimo libro di Eric Evans, pietra miliare in ambito DDD.
In italiano, of course, c’è meno materiale, tra cui merita menzione un approfondimento sulla DDD dell’immancabile MokaByte.