Skip to content

Commit 95d1f5b

Browse files
committed
Minor doc updates.
1 parent 85e9976 commit 95d1f5b

File tree

6 files changed

+10
-11
lines changed

6 files changed

+10
-11
lines changed

dddsample/src/site/apt/architecture.apt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Architecture
88

99
[images/layers.png]
1010

11-
There are three vertical layers: interfaces, application and domain, each supported by different kinds of infrastructure.
11+
There are three vertical layers: Interfaces, Application and Domain, each supported by different kinds of infrastructure.
1212

1313
{Interfaces}
1414

@@ -23,8 +23,8 @@ Architecture
2323
are interface-independent and can be synchronous or message-driven. This layer is well suited for spanning
2424
transactions, high-level logging and security.
2525

26-
The application layer is thin in terms of domain logic - it merely coordinates the domain layer objects
27-
perform the actual work.
26+
The application layer is thin in terms of domain logic - it merely coordinates workflow and delegates to the domain
27+
layer objects to perform the actual work.
2828

2929
{Domain}
3030

@@ -39,12 +39,12 @@ Architecture
3939
The core of the business logic, such as determining whether a handling event should be registered and how the delivery of a cargo
4040
is affected by handling, belongs in here. The structure and naming of aggregates, classes and methods in
4141
the domain layer should follow the ubiquitous language, and you should be able to explain to a domain expert
42-
how this part of the software works by drawing a few simple diagrams and using the actual class- and method names
42+
how this part of the software works by drawing a few simple diagrams and using the actual class and method names
4343
of the source code.
4444

4545
{Infrastructure}
4646

47-
In addition to the three vertical layers, there's also the infrastructure. As the the picture shows, it supports
47+
In addition to the three vertical layers, there is also the infrastructure. As the the picture shows, it supports
4848
all of the three layers in different ways, facilitating communication between the layers. In simple terms,
4949
the infrastructure consists of everything that exists independently of our application: external libraries,
5050
database engine, application server, messaging backend and so on.
@@ -53,6 +53,6 @@ Architecture
5353
Looking for example at the persistence aspect, the database schema definition, Hibernate configuration and mapping files
5454
and implementations of the repository interfaces are part of the infrastructure layer.
5555

56-
While it can be tricky to give a waterproof definition of what kind of code belongs to the infrastructure layer for any given situation,
56+
While it can be tricky to give a solid definition of what kind of code belongs to the infrastructure layer for any given situation,
5757
it should be possible to completely stub out the infrastructure in pure Java unit/scenario tests and still be able to
5858
use the domain layer and possibly the application layer to work out the core business problems.

dddsample/src/site/apt/characterization.apt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ Characterization
3939

4040
The main reason for not making <<<HandlingEvent>>> part of the cargo aggregate is performance. <<<HandlingEvent>>>s are received from external parties and systems, e.g. warehouse management systems, port handling systems, that call our <<<{{{xref/se/citerus/dddsample/interfaces/handling/ws/HandlingReportServiceImpl.html}HandlingReportService}}>>> webservice implementation. The number of events can be very high and it is important that our webservice can dispatch the remote calls quickly. To be able to support this use case we need to handle the remote webservice calls asynchronously, i.e. we do not want to load the big cargo structure synchronously for each received <<<HandlingEvent>>>. Since all relationships in an aggregate must be handled synchronously we put the <<<HandlingEvent>>> in an aggregate of its own and we are able processes the events quickly and at the same time eliminate dead-locking situations in the system.
4141

42-
[images/aggregates.gif]
4342

4443
{Repositories}
4544

dddsample/src/site/apt/download.apt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ mvn jetty:run
4242

4343
The start page is available at {{http://localhost:8080/dddsample}}, and has links to the various interfaces.
4444

45-
There is a screencast available on the project site that demonstrates how the different interfaces are used.
45+
There is a {{{screencast.html}screencast}} available on the project site that demonstrates how the different interfaces are used.
4646

4747
An RMI registry will be started on port <<<1099>>>, in addition to the Jetty container on port <<<8080>>>, so those ports
4848
need to be available or you have to reconfigure the application.

dddsample/src/site/apt/index.apt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Purpose
4848
Caveats
4949

5050
Domain-driven design is a very broad topic, and contains lots of things that are difficult or impossible
51-
to incorporate into the code base of a sample application, most importantly communication with the domain
51+
to incorporate into the code base of a sample application. Perhaps most important is communication with the domain
5252
expert, iterative modelling and the discovery of a ubiquitous language. This application is a snapshot in time,
5353
the result of a development effort that you need to imagine has been utilizing domain-driven design,
5454
to show how one can structure an application around an isolated, rich domain model in a realistic environment.

dddsample/src/site/apt/roadmap.apt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ Roadmap
1111
* Handling voyage delays and intentional rescheduling, how that affects itineraries
1212

1313
* More one the time aspect: timezones for locations and handling events,
14-
notify on delayed delivery, port to TimeAndMoney or similar date/time framework
14+
notify on delayed delivery, port to {{{http://timeandmoney.sourceforge.net/}TimeAndMoney}} or similar date/time framework

dddsample/src/site/xdoc/screencast.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<body>
1111
<section name="Screencast">
1212
<p>
13-
Here's a 10 minute screencast that shows the different interfaces in action.
13+
Here is a 10 minute screencast that shows the different interfaces in action.
1414
</p>
1515
<object width="425" height="344">
1616
<param name="movie" value="http://www.youtube.com/v/eA8xgdtqqs8&amp;hl=en&amp;fs=1"></param>

0 commit comments

Comments
 (0)