Repository的事件驅動

brighthas發表於2011-07-10
在零星的DDD DCI概念中,我們瞭解了也掌握了一些軟體的控制權,同時我們還在為資訊如何交流抓頭,當然有很多方法,事件驅動就是一個很好的辦法,同時怎麼進行事件驅動呢?第一,可以用 EventBar方式,這種方式需要寫一個事件匯流排。

我也想了想,感覺用Repository比較合適,我和liontseng的風格一樣,就是喜歡用程式碼來說明問題,因為我就是liontseng,密碼忘記了。。。重新註冊一個。

var userRepo = global.userRepo;
userRepo.listen({_id:12131},{eventType:userRepo.updatePassword},handleFun);
function handleFun(user){
   // 當 id == 12131 的使用者更改密碼時,會回撥這個函式。
}
<p class="indent">


這只是說個例子,我正在編寫相關的架構,弄好了和大家分享分享。

當然,這裡的程式碼並不是說明,我們必須監聽類是 增刪改 的,不只限於此,包括有人find某個的時候,也可以進行監聽。
還有就是 repository 這個概念真的不錯,如果實現的很好,不必考慮資料庫和事務,因為在記憶體中的物件始終就是一個。
user001 在外面應用的和 repository 中的是一個。

我還想一個問題,其實實際的對 物件進行 資料庫的 store 其實不必顯式來做,我覺得store TO DB 對於軟體系統不是核心。未來將開啟BANQ大哥說的 IN-記憶體 的時代,呵呵。

相關文章