Chris,
thanks for taking the time and providing the positive feedback. It
really feels good, and for me extra good this particular week ;-)

Hope to see the outcome of your academic work one day.

On Tue, Aug 2, 2011 at 1:48 PM, Chris Chapman
<[email protected]> wrote:
> I have really enjoyed reading things on the Qi4j list. I am fairly new
> to Qi4j, having discovered it while working on my MS project. I am not a
> very experienced developer, so while I have not contributed to the list
> or to the Qi4j project yet, I have tried to soak up as much as I can. I
> am thinking that some of my naivete might be useful in this discussion.
>
> I think Qi4j is the best thing that has happened to Java since Java got
> interfaces.
>
> I am a systems thinker and have trouble keeping complicated algorithms
> straight in my head. So as I learned how to program, I gravitated toward
> OOD, then role-based design using interfaces, and eventually to DDD. I
> made it through (most of) Eric Evan's book. DCI introduces the idea of
> context and interaction. Taking the idea of DDD and (mis)applying to the
> "software application" domain makes it easy to understand CQRS and Event
> Sourcing. All of this makes sense to me because it models the world and
> results in simple code that is easy to maintain.
>
> A couple years ago (before I discovered Qi4j) I implemented a simple
> CQRS framework for a job assignment (learning basic ideas from Udi Dahan
> and Greg Young). As I built up a domain model using roles, the domain
> classes got bigger and bigger as they had more roles to implement. I
> kept wishing there was a way to share the "Describable" role
> implementation (among others), so I didn't have to implement it for
> every class that played that role. I stumbled on the Qi4j website in the
> course of some research. My first impression of the project was that it
> was an extremist approach to software development, like XP is to
> software methodology. But I decided to look into it more and discovered,
> instead of an extreme approach, that Qi4j solves a fundamental problem
> with OOD. Yes, the runtime and assembly take a little getting used to,
> although application assembly is simpler (and MUCH more powerful) than
> Spring's XML configuration. Mixins fixed the role implementation problem
> that I mentioned before. Concerns, Constraints, and SideEffects make AOP
> much simpler to implement, and add semantic intent to the code. (BTW,
> Rickard et al., the Command/Query HATEOAS web interface in Streamflow is
> awesome. In the CQRS framework mentioned previously, I used an MVC web
> architecture that created a command in a controller method and sent it
> to the system. I never thought of extending commands and queries into
> the web interface and tying everything together with hypertext.
> Although, +1 for pluggable JSON serialization for Value objects in Qi4j 2.0)
>
> I see Qi4j as an information system platform. It is more than a
> framework. It seems especially geared for intelligent information
> systems, rather than unintelligent, anemic information systems. Qi4j
> with DCI seems like a good approach for most intelligent systems.
>
> Many of my fellow students seem caught up in Ruby or .NET hype. When I
> talk to them about the awesomeness of designing with roles, I usually
> get blank stares (I've never had a software development job outside of a
> university setting, so I don't know how it is in the "real world" :) ).
> Many of them learn languages but don't learn patterns. I think the
> patterns are more important than the implementation language. Patterns
> solve problems. Qi4j is a pattern language that makes it easier to
> create intelligent software systems. One of the greatest strengths of
> Qi4j is that it makes it easier to implement complicated patterns.
>
> Thank you!
>
> FYI, my master's project (built on Qi4j) includes building a
> collaborative system for historical and genealogical research.
> Conclusions are built up by extracting bits of information from original
> source documents. Kind of like case management with a few twists. Qi4j
> has made development much more manageable and enjoyable. I am surprised
> sometimes with what Qi4j can do.
>
> Thanks,
> Chris Chapman
>
> _______________________________________________
> qi4j-dev mailing list
> [email protected]
> http://lists.ops4j.org/mailman/listinfo/qi4j-dev
>



-- 
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java

I live here; http://tinyurl.com/3xugrbk
I work here; http://tinyurl.com/24svnvk
I relax here; http://tinyurl.com/2cgsug

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to