我在我的項目中實現Observer模式時遇到問題。 該項目必須在C#中作爲MVC製作,就像Windows應用程序一樣。
在我的域模型中,我有例如Country class和Country repository。我有一個國家控制員和觀看所有國家(表格上的列表),添加新國家和編輯現有國家的意見。
我不知道有多少視圖必須知道與更改國家有關的更改。事情是我必須使用Observer模式。而在網上,當主題是國家和觀察者是編輯國家的一種形式,並且所有示例都在控制檯應用程序中時,我只能找到檢查。
我需要我所有的表格都有國家列表瞭解有關添加新國家,而不僅僅是編輯現有國家。我應該如何做到這一點,我應該做一個存儲庫的主題?MVC和觀察者模式
1
A
回答
1
你可以創建一個'ManageCountry'任務,它可以讓你編輯/添加國家。 此任務可能有一個事件'CountryChanged',其他視圖可以訂閱。
當您修改一個國家或創建一個新國家時,您引發了該事件,並且訂閱者可以對此作出反應。 您只需確保您提出的事件使用了一些自定義EventArgs,以便您可以將已修改的Country對象傳遞給事件處理程序。
你用什麼來實現一個MVC應用程序?你在使用某種框架嗎?
0
嗯,對我來說,這聽起來應該讓一個存儲庫成爲一個主題,這樣該存儲庫就可以作爲發佈者來使用這些表單。試試這個,讓我們知道它是否成功。
1
在C#(或.NET通常)中,您可以使用特殊的觀察者/監視器/偵聽器實現的事件和委託。
我不知道DDD,但我會添加一個「NewCountryAdded」事件或「CountryListChanged」事件或類似的東西。
相關問題
- 1. 觀察者模式vs MVC
- 2. 觀察者模式 - 觀察者創建
- 3. jQuery和觀察者模式
- 4. Vue.js和觀察者模式
- 5. 觀察者模式
- 6. 觀察者設計模式 - 具體主題和觀察者
- 7. 觀察者模式-受試者保持到由觀察者
- 8. 異步觀察者模式
- 9. 實現觀察者模式
- 10. 瞭解觀察者模式
- 11. 觀察者模式imp
- 12. asp.net觀察者模式
- 13. 觀察者模式混淆
- 14. 與觀察者模式
- 15. 觀察者模式建議
- 16. 觀察者模式類(JAVA)
- 17. SI +觀察者模式
- 18. python觀察者模式
- 19. 觀察者模式C和Java
- 20. 依賴注入和觀察者模式
- 21. 觀察者設計模式和其他
- 22. 線程和Java中觀察者模式
- 23. Java Swing和觀察者模式
- 24. jquery,Javascript和觀察者模式
- 25. C++和Qt:觀察者模式錯誤
- 26. 觀察者模式:如何區分觀察者
- 27. 具有兩個觀察者列表的觀察者模式
- 28. 觀察者模式Java - 使用線程的多個觀察者
- 29. 觀察者模式 - 將信息傳遞給觀察者
- 30. java mvc可觀察模式
你會添加那個事件到哪個對象?存儲庫? – gljivar 2009-01-25 13:02:58
我猜,對於存儲庫。很難說,不知道你的完整的班級結構和用法... – EricSchaefer 2009-01-26 11:17:51