On 2010-02-02 00.40, Niclas Hedhman wrote:
1. The code to create an object ("composite instance") seem to be complex.
How do we create Qi4j-powered objects from inside objects? Should we tie to
Qi4j API?
Factories?
Agree, use DDD Factories and Repositories if you want to hide Qi4j.
4. With regard to DCI, what are the pros and cons of using Qi4j for it
versus compile-time AspectJ weaving? I'm also just watched DCI presentation,
but I think for (perhaps) 80% of time AspectJ is sufficient with only 20%
work involved in setting up Qi4j / overhead. With compile-time weaving,
AspectJ has zero runtime overhead, and with AspectJ-integrated IDE it also
has low development effort.
AspectJ and other AOP frameworks can be great but misses the point to
some degree. First of all the "What is the base object?"-question,
which we have concluded is "nothing". But more importantly, it is
nearly impossible to do Qi4j-like composition, since you would fully
depend on naming conventions for the weaving, which are extremely
fragile when refactoring.
One of the main problems with AOP/AspectJ is that it doesn't cover the
persistence part. You can't (AFAIK) mix in roles with state and have
AspectJ handle that properly. To me that is huge issue. Qi4j has been
made with persistence of domain models in mind from the start.
/Rickard
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev