Isolating the Domain: Introducing the Applications

Isolating the Domain: Introducing the Applications

To prevent domain responsibilities from being mixed with those of other parts of the system, let's apply LAYERED ARCHITECTURE to mark off a domain layer.

Without going into deep analysis, we can identify three user-level application functions, which we can assign to three application layer classes.

  1. A Tracking Query that can access past and present handling of a particular Cargo

  2. A Booking Application that allows a new Cargo to be registered and prepares the system for it

  3. An Incident Logging Application that can record each handling of the Cargo (providing the information that is found by the Tracking Query)

These application classes are coordinators. They should not work out the answers to the questions they ask. That is the domain layer's job.

     Python   SQL   Java   php   Perl 
     game development   web development   internet   *nix   graphics   hardware 
     telecommunications   C++ 
     Flash   Active Directory   Windows