Dan Haywood

DAN HAYWOOD is an independent consultant most known for his work on domain-driven design and the naked objects pattern. He is a committer and former PMC chair on Apache Isis, a Java framework for building line-of-business applications which implements the naked objects pattern.

Dan has a 12+ year ongoing involvement as technical advisor for the Irish Government’s strategic Naked Objects system on .NET, now used to administer the majority of the department’s social welfare benefits. He also has 5+ years of ongoing involvement with Eurocommercial Properties co-developing Estatio, an open source estate management application, implemented on Apache Isis.

Dan is the author of “Domain Driven Design using Naked Objects” (pragprog 2009), and “Better Software Faster” (prenhall 2003). He also wrote the Restful Objects specification, a generalization of the naked objects paradigm for hypermedia APIs. This is implemented by Apache Isis (Java) and Naked Object (.NET).

NewCrafts 2018

Busy Java Developer’s Hand-on of DDD with Apache Isis

  • hands-on
  • Tools

“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 hands-on, 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 use the Apache Isis to build out a domain-driven application, using the framework to automatically render our domain model in a UI. We’ll also see how a domain model can be exposed over a REST API, (for those who would prefer to still build their own user interface), and see how the approach goes hand-in-hand with Domain-Driven Design.

But be careful: once you start working with this stuff, you may never want to go back to “traditional” means of writing code ever again.


Code of conduct

Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, or religion (or lack thereof). We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.