Yep, this is exactly what I had in mind when talking how the available tools drive your design decisions. An ability to add something to the object in a given context can be a game changer. It was there in Objective C, but is not present in the vanilla Java.
Andrus > On Jun 12, 2015, at 12:14 PM, Aristedes Maniatis <a...@maniatis.org> wrote: > > On 12/06/2015 6:01pm, Andrus Adamchik wrote: >> To summarize, both domain-centric and service-centric architectures have >> their advantages and downsides. In an ideal world there should be just the >> right mix of the two. Achieving that can be hard sometimes, and the actual >> proportion depends on the scope of the system and the tools that you have in >> your possession. > > I'm really liking Groovy these days. It has a concept of "categories" which > allow you to inject additional methods right into your domain objects. > > http://docs.groovy-lang.org/latest/html/gapi/groovy/lang/Category.html > > I'm still getting my head around how that changes the architecture of > systems, but the ease of mixing groovy inside Java applications is allowing > us to explore aspects of this right now. For example, to enhance Cayenne > objects when passing them into JasperReports for printing. > > > If Dima is lurking around here, he'll have more to say since I know he is > liking the groovy approach. > > Cheers > > Ari > > -- > --------------------------> > Aristedes Maniatis > GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A >