Kaynağa Gözat

Minor doc updates.

Patrik Fredriksson 17 yıl önce
ebeveyn
işleme
95d1f5bf3d

+ 6
- 6
dddsample/src/site/apt/architecture.apt Dosyayı Görüntüle

@@ -8,7 +8,7 @@ Architecture
8 8
 
9 9
 [images/layers.png]
10 10
 
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.
12 12
 
13 13
 {Interfaces}
14 14
 
@@ -23,8 +23,8 @@ Architecture
23 23
     are interface-independent and can be synchronous or message-driven. This layer is well suited for spanning
24 24
     transactions, high-level logging and security.
25 25
 
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.
28 28
 
29 29
 {Domain}
30 30
 
@@ -39,12 +39,12 @@ Architecture
39 39
 	The core of the business logic, such as determining whether a handling event should be registered and how the delivery of a cargo
40 40
 	is affected by handling, belongs in here. The structure and naming of aggregates, classes and methods in
41 41
 	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
43 43
 	of the source code.
44 44
 
45 45
 {Infrastructure}
46 46
 
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
48 48
 	all of the three layers in different ways, facilitating communication between the layers. In simple terms,
49 49
 	the infrastructure consists of everything that exists independently of our application: external libraries,
50 50
 	database engine, application server, messaging backend and so on.
@@ -53,6 +53,6 @@ Architecture
53 53
 	Looking for example at the persistence aspect, the database schema definition, Hibernate configuration and mapping files
54 54
 	and implementations of the repository interfaces are part of the infrastructure layer.
55 55
 
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,
57 57
 	it should be possible to completely stub out the infrastructure in pure Java unit/scenario tests and still be able to
58 58
 	use the domain layer and possibly the application layer to work out the core business problems.

+ 0
- 1
dddsample/src/site/apt/characterization.apt Dosyayı Görüntüle

@@ -39,7 +39,6 @@ Characterization
39 39
 
40 40
     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.
41 41
     
42
-[images/aggregates.gif]
43 42
 
44 43
 {Repositories}
45 44
 

+ 1
- 1
dddsample/src/site/apt/download.apt Dosyayı Görüntüle

@@ -42,7 +42,7 @@ mvn jetty:run
42 42
 
43 43
     The start page is available at {{http://localhost:8080/dddsample}}, and has links to the various interfaces.
44 44
 
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.
46 46
 
47 47
     An RMI registry will be started on port <<<1099>>>, in addition to the Jetty container on port <<<8080>>>, so those ports
48 48
     need to be available or you have to reconfigure the application.

+ 1
- 1
dddsample/src/site/apt/index.apt Dosyayı Görüntüle

@@ -48,7 +48,7 @@ Purpose
48 48
 Caveats
49 49
 
50 50
   	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
52 52
     expert, iterative modelling and the discovery of a ubiquitous language. This application is a snapshot in time,
53 53
     the result of a development effort that you need to imagine has been utilizing domain-driven design,
54 54
     to show how one can structure an application around an isolated, rich domain model in a realistic environment.

+ 1
- 1
dddsample/src/site/apt/roadmap.apt Dosyayı Görüntüle

@@ -11,4 +11,4 @@ Roadmap
11 11
   * Handling voyage delays and intentional rescheduling, how that affects itineraries
12 12
 
13 13
   * 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

+ 1
- 1
dddsample/src/site/xdoc/screencast.xml Dosyayı Görüntüle

@@ -10,7 +10,7 @@
10 10
   <body>
11 11
     <section name="Screencast">
12 12
       <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.
14 14
       </p>
15 15
       <object width="425" height="344">
16 16
         <param name="movie" value="http://www.youtube.com/v/eA8xgdtqqs8&amp;hl=en&amp;fs=1"></param>