Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Services are independent and function stand-alone (except for cases in which services explicitly rely on other services to perform their tasks).

Data-& Service-Hierarchy (Service loose coupling)

Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other. In other words, services are allowed to use generic common code, and to use each other (still not cyclic) but not to rely on implementation details of each other.

No Common DB Model.

There is no common database model. If you need an application wide data model for analysis and design, go ahead, but transform it into the enterprise service model and not a db model afterwards. Individual services will have their own, private db-models (or at least are allowed to), but they should remain strictly private.

No JOINs.

ano-tecture doesn't recognize a need for joins. In last 10 years we had not a single use case that wasn't solvable without a JOIN. If we find such a UseCase in the future, we will revisit this policy. In the meantime we prefer to 'join' on the application layer by combining information from several services into a higher level model.

...

Example

Lets proceed to an example UserService.