Domain-driven design (DDD) focuses on what matters in enterprise applications: the core business domain. And Naked Objects lets you build DDD applications just by writing the core domain classes, the rest of the application is taken care of for you.

This blog supplements and expands on my book, Domain Driven Design using Naked Objects, describing how you can rapidly develop and test domain applications using Naked Objects.

Apache Isis Proposal

Over the last few months we’ve been seriously considering donating both the original Naked Objects framework as well as my sister projects to the Apache Software Foundation, sounding out various people and gauging interest. Today we formally announced a proposal for a new project to be accepted into the Apache incubator. The name [...]

Naked Objects MVC is released!

In my book I focus on the open source Java version of Naked Objects, but (as I briefly mention) there is also a commercial version of Naked Objects that runs on .NET. This is developed by Richard Pawson’s company, Richard being the originator of the Naked Objects pattern; (Richard and I continue to work [...]

Wicket Objects v0.1 … give it a try

Over the last few months I’ve been plugging away at another sister project for Naked Objects, this time a new web-based viewer built using the Apache Wicket web framework. I reckon it’s now in a fit enough state to be tried out more widely, and hopefully find some contributors with better web UI skills [...]

Accessing Domain Services from Entities

A topic that comes around now and again on the DDD newsgroup is how to provide access to a domain service (or a repository) to an entity. This service might be very generic, e.g. a NotificationService so that the entity can raise a domain event. Or, it might be quite specific, e.g. an [...]

Enums and Pluggable Strategies

Last time round we simplified an entity inheritance hierarchy, moving the polymorphism into anonymous subclasses of a Java 5 enum. Which is great, but if there’s a lot of business logic that’s been factored out in this way, it can make the enum itself somewhat unmanageable. Moreover, we can’t easily extend or modify [...]

More on enums and powertypes

My last blog post, about pushing behaviour onto enum subclasses, got quite a few votes on dzone. Interestingly, about a third voted the post down, not up – though no-one left any comment to explain why they thought it was a bad idea.

So, here’s another example of using this technique, but from a somewhat [...]

Simulating Enums in Naked Objects

One thing that Naked Objects 4.0 doesn’t yet support is Java 5-style enums. We think we know what we need to do to support it (I guess that will be 4.1), but for now let me offer you a way to get the same general effect.

Let’s make this concrete by considering (hackneyed example, I [...]

DDD article @ Methods and Tools

If you’ve just stumbled across this blog and are wondering what “domain driven design” is all about, you might like to check out an article I wrote for the Methods and Tools journal. It’s downloadable in their (free) PDF magazine, and is also available online in HTML form.

Thanks to Vaughn Vernon for his time [...]