Php 聚合,带Prooph的DomainEvent

Php 聚合,带Prooph的DomainEvent,php,events,aggregate,domain-events,prooph,Php,Events,Aggregate,Domain Events,Prooph,我正在开发一个应用程序,该应用程序在验证HTML提要后将其删除。这些网站仅支持电子邮件/密码身份验证,但某些集成可能需要其他信息。所以我现在的问题是,在创建域事件和聚合时,我应该得到什么?我曾与Prooph合作,创建了只处理单一实体类型的简单聚合和域事件。但现在我想知道聚合和域事件是否应该针对这些第三方网站刮刀。每个进料刮板应该有一个事件,还是创建一个通用事件和聚合更好?每种骨料的性质可能不同 class WebsiteA extends AggregateRoot { private

我正在开发一个应用程序,该应用程序在验证HTML提要后将其删除。这些网站仅支持电子邮件/密码身份验证,但某些集成可能需要其他信息。所以我现在的问题是,在创建域事件和聚合时,我应该得到什么?我曾与Prooph合作,创建了只处理单一实体类型的简单聚合和域事件。但现在我想知道聚合和域事件是否应该针对这些第三方网站刮刀。每个进料刮板应该有一个事件,还是创建一个通用事件和聚合更好?每种骨料的性质可能不同

class WebsiteA extends AggregateRoot
{
    private $id;

    private $email;

    private $password;

    public static function initiate($id, $email, $password)
    {...}
}

class WebsiteB extends AggregateRoot
{
    private $id;

    private $email;

    private $password;

    private $accountIds = [];

    private $userSalt;

    public static function initiate($id, $email, $password, $accountIds, $userSalt)
    {...}
}
然后域事件也会出现类似的情况

class WebsiteAWasInitiated extends AggregateChanged
{
    public static function withUser($id, $email, $password){}
}

class WebsiteBWasInitiated extends AggregateChanged
{
    public static function withUser($id, $email, $password, $accountIds, $userSalt){}
}
还是创建单个聚合和域事件更好?这两个网站都使用。请记住,受支持网站的列表将不断增加

class WebsiteScraper extends AggregateRoot
{
    private $id;

    private $credentials;

    public static function initiate($id, $credentials)
    {...}
}

class WebsiteScraperWasInitiated extends AggregateChanged
{
    public static function withUser($id, $credentials){}
}

这更像是一个与DDD相关的问题,答案是“视情况而定”。您的scraper数量是否会增长如此之多,以至于您无法为每个scraper添加代码?然后尝试使用通用刮刀集料。如果您的刮刀数量有限,您可以为每个刮刀使用自定义刮刀