ag/shop

There is no license information available for the latest version (dev-master) of this package.

Maintainers

Details

github.com/agitso/shop

Source

Issues

Installs: 27

Dependents: 0

Suggesters: 0

Stars: 9

Watchers: 5

Forks: 2

Open Issues: 0

Type:typo3-flow-package

dev-master 2014-04-05 12:12 UTC

README

TYPO3 Flow package to show how Ag.Event and the use of domain events can improve design and avoid anemic domain models and increase seperation of concerns.

This is example is thought of as a playground and intended for teaching/referencing of domain driven design principles.

A lot of inspiration from the book: https://vaughnvernon.co/?page_id=168

The example shows among other things:

  • The use of modules that communicates using application services and shares information using value objects
  • The use of aggregates to ensure invariants (such as the in stock property on inventory items)
  • The use of optimistic locking on aggregates with @ORM\Version (to avoid two concurrent processes overwrite each others changes to an aggregate)
  • The use of domain events to communicate between aggregates
  • Eventuel consistency between aggregates using domain events
  • Transactional persistence (changes within an aggregate + the corresponding published events are persisted in the same transaction).