Exemplo n.º 1
0
 /**
  * @param array $events
  * @return AggregateRoot
  */
 private function getAggregate(array $events = []) : AggregateRoot
 {
     if ($this->aggregate == null) {
         $this->aggregate = $this->factory->createAggregate(Identity::createNew(), new Events($events));
     }
     return $this->aggregate;
 }
Exemplo n.º 2
0
 /**
  * @param Identity $aggregateIdentity
  * @return AggregateRoot
  */
 public function findById(Identity $aggregateIdentity) : AggregateRoot
 {
     $events = $this->eventStore->getEventsForAggregate($aggregateIdentity);
     return $this->factory->createAggregate($aggregateIdentity, $events);
 }