1

由于我们需要在可扩展的 Web 架构中分离所有流程,特别是在事件驱动设计(同步和异步作业)中,我想知道插入 ACE 的最佳位置(也是最佳时间)在哪里。

我的第一个“幼稚”举措是将它们插入到创建相关对象的同一服务方法中。

它会是这样的:

class AlbumManager
{
    public function createAlbum(Album $album)
    {        
        $this->albumRepository->save($album);

        $this->permissionManager->grantPrivileges($album->getUser(), $album, MaskBuilder::MASK_OWNER);

        $event = new AlbumEvent($album);
        $this->dispatcher->dispatch(AlbumEvents::CREATE, $event);
    }
}

但是,那是正确的地方吗?由于其他东西是在委托同步或异步工作的事件侦听器中处理的(离线队列),为什么不对 ACE 做同样的事情呢?

通常,在应用程序中,您始终确定需要立即完成的操作,以及可以(必须)离线完成的操作(队列)。

安全的东西在哪里?;-)

谢谢再见。

本杰明。

4

0 回答 0