Domain

The domain layer is the heart of the application. Components in the domain layer can be further divided into these categories:

  • Concrete classes: modeling business concepts and rules

  • Interfaces: defining needed business functionality, without a concrete implementation

Concrete classes

This category contains classes that model existing concepts important to the business. Some of these are: UiTPAS, Passholder, Group, Activity, Price and Coupon.

Examples:

Interfaces

There are a lot of business needs. How these are technically accomplished may depend on things outside of the application (like a particular database, the file system or external web services). The needs are captured by means of interfaces in the domain layer. Concrete implementations however belong in the infrastructure layer.

Examples:

Last updated