Busy Java Developer’s Workshop on DDD with Apache Isis
"I invented the term ‘object-oriented’, and I can tell you for a fact that C++ was not what I had in mind." — Alan Kay, inventor of Smalltalk.
But what, exactly, did Mr. Kay have in mind? If not the kind of object-oriented that C++ (and later Java and C#) developers became accustomed to, then what did he really imagine O-O development would be like? In this workshop, we’ll examine a concept more recently popularized as "naked objects"–the idea that objects should not be used to present a user interface, but that the user interface should be based around the domain objects themselves. We’ll look at the Naked Objects libraries, how they work, and what development using NakedObjects looks and feels like. We’ll spend some time building a naked objects application, leveraging the RestfulObjects standard (for those who would prefer to still build their own user interface without losing the benefits of the NakedObjects infrastructure), and work to find where the edges to this idea–later popularized as "Domain-Driven Design"–rest and operate.
But be careful, though: once you start working with this stuff, you may never want to go back to "traditional" means of writing code ever again.