![](/img/trans.png)
[英]I want to use Symfony EventDispatcher in Zend Framework 1.11
[英]DDD: Should I use the Symfony EventDispatcher for my domain events?
我想知道是否應該使用Symfony EventDispatcher Component來處理我的DDD應用程序中的域事件。
對我來說,當經過良好測試的組件可用時,從頭開始重新安排事件調度程序是沒有意義的。 但另一方面,Symfony組件使所有事件都從基類Event類擴展。 這不會將我的域事件綁定到EventDispatcher組件嗎?
此外,如果我使用此組件,我應該在應用程序范圍的event_dispatcher服務上引發域事件,還是應該將Symfony的應用程序事件和我的域事件分開(即創建一個新的EventDispatcher)?
我想知道為什么沒有EventInterface。
這: https : //github.com/symfony/symfony/issues/9539表示因為Event是一個值對象,所以不需要任何接口。 我承認我並不完全遵循這個論點(至少在耦合方面),但還沒有進一步研究。 可能是一個很好的DDD問題。
在我的例子中,我創建了一個DomainEventInterface,它在DomainEvent中實現,而DomainEvent又擴展了Event。 我使用DomainEvent作為我的基本事件類。 如果我甚至需要切換調度員,這應該使重新分解相當容易。 並且,至少在我看來,避免將Domain直接耦合到Event組件。
我主要創建自己的DomainDispatcher實例,以避免將我的域綁定到實際的Symfony框架。
另請注意,事件偵聽器接口在S2.4中已更改。 Event對象將在3.0中簡化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.