[Domain-Driven-Design] Effect of automatically generating applications from domain model.

[This software is free and no guarantee]

The role of DDBuilder

Repetitive development is recommended for domain driven design.
It is a style that raises perfection while repeating refinement of domain model.
In each repetition (iteration), domain drive design can not be implemented smoothly if work other than modeling - eg maintaining moving software - is troublesome.
DDBuilder lightens the iteration work by automatically generating part of the iteration's deliverables (moving software).

Flow in iteration (example)

One iteration can be considered a mini waterfall.
step1: Modeling (create model diagram)
step2: Implement domain model
step3: Create and maintain moving software based on domain model
step4: Confirm completion of iteration
step5: Create the latest model diagram
step6: To the next iteration if necessary
DDBuilder automatically generates an Operatable application (Java Web application) in step3.

Operatable application

The purpose of the Operatable application is to validate the domain model.
It is one of the deliverables at the completion of each iteration.
Its architecture may be the same as for production use or it may be dedicated to domain model validation. If it is the same as for production use, it is also necessary to refine and verify the architecture.
DDBuilder automatically generates Java web applications.

In order to continue running software that runs Iterative and Incremental Development

In the case of a Web application,
When you change the domain model, changes also propagate to the view layer and the persistence layer.
Changing the view layer or persistence layer is not a light job.
Changes other than domains are burdens, the iteration cycle becomes longer, and the team can not concentrate on the domain model.
DDBuilder reduces work on the view layer and persistence layer, so that you can focus on the domain model.

Knowledge becoming necessary

・Object Oriented Modeling Technology (Concept)
・Domain-driven design (Concept)
・Iterative and Incremental Development (Concept)
・JPA(Java Persistence API)Introductory level
・Wicket Introductory level
・Eclipse basic operation

Installation and uninstallation

DDbuilder is a Java standalone program (Java Swing application).
(1) Installation method: Extract the downloaded compressed file.
(2) Uninstallation method: Please delete the decompression result.


Go to download page

open source code

It is open source as GitHub. [Apache License Version 2.0]

- DDBuilder (Tool body)


- DDBuildertemplate (Template)



Sorry. Currently it is only Japanese version.
Please see the operation example in the screen image below.
DDBuilder Menu Window

Users Guide[Japanese] [PDF][1.1MB]

Domain class Java code sample[Japanese comments] [zip file][27KB]

※ The sample shows an example of using attribute types and JavaEE JPA annotations. It is not a reference for DDD.

Iteration example

Operation confirmed environment

(1) Java 8
(2) Windows7 professional 32bit/64bit
(3) Eclipse4.4 Luna, Eclipse4.3 Kepler
(4) Apache Tomcat 7.0.50, apache-tomcat-8.5.6


The following software is used.
(1) Apache Wicket7.4.0
(2) hibernate-entitymanager4.3.6.Final
(3) Derby10.10.2.0
(4) log4j2.5
(5) Eclipse jdt3.9.1

Copyright 2001-2022, All Rights Reserved