這是關於this question。建議的答案涉及將屬性添加到類型爲「Form2」的「Form1」,該類型回答所問的問題。但是如果我們想要一個不太耦合的解決方案呢。你有什麼建議?尋找更好的winforms設計
0
A
回答
1
你得到的awnser是如此耦合,因爲你沒有提供關於你當前的設計是什麼的信息,並命名的東西form1和form2。
要獲得更少的耦合設計,你可以做下列操作之一:
最簡單的辦法 一個事件添加到火災時,X時(X是什麼決定的通知圖標需要窗口2更改)。然後,您可以在通知圖標和form2引用的地方掛接事件處理程序。這種方式form2不必瞭解form1。這種方式的耦合來自form1 - > form2(它反正是因爲form1實例化form2)而不是form1 < ---> form2
這個先進的解決方案涵蓋了遠遠超過這個通知問題,但體系結構整個應用程序 另一種解決方案是使用乾淨的UI設計模式,如模型視圖控制器,模型視圖呈現或模型視圖視圖模型。通知有問題不是形式本身,而是某個商業實體的關注。所以這應該是probally揭露它,而不是形式themselve(這只是負責實際呈現的東西)。如果從表單中抽象出通知的概念並將其引入某種模型,則甚至可以使用IoC容器(例如structuremap或ninject)和INotificationManager接口(其中包含具體類型的IoC容器)來添加更多解耦可以在運行時構建模型類時注入。
相關問題
- 1. 尋找更好的設計(繼承)
- 2. 子類「主副本」列表,尋找更好的設計
- 3. 尋找更好的設計:只讀內存緩存機制
- 4. 面向對象的程序設計:尋找好的教程
- 5. 尋找設計模式
- 6. 尋找設計模式
- 7. 尋找OSGi設計模式
- 8. 尋找設計圖案
- 9. 尋找更好的方法來爲不同情況設計一個類
- 10. 編輯JSON對象 - 尋找更好的功能計算策略
- 11. 尋找一個更好的方法來計算矩陣
- 12. 尋找更好的方式來顯示計數在Spring MVC
- 13. 尋找更好的方法名
- 14. 尋找更好的方式重定向
- 15. 在Rails中尋找更好的URL
- 16. 分組詞 - 尋找更好的方式
- 17. 尋找更好的SQL查詢
- 18. LINQ聲明優化 - 尋求更好設計的建議
- 19. 這個PHP Object設計方法好壞嗎? - 尋找批評
- 20. 尋找一個偉大的嚮導實例與WinForms和/或建議regrding設計
- 21. 設計爲的WinForms
- 22. WinForms設計師
- 23. 更好的課堂設計
- 24. 尋找適當的設計模式
- 25. 尋找反饋,我的程序設計
- 26. 尋找Windows Phone 7的設計模板
- 27. 尋找特定的設計模式
- 28. 尋找最好的子
- 29. 尋找好書的Grails 2.0
- 30. 尋找[也許]設計模式
感謝您的回覆。原來的問題不是我的,但它確實讓我思考。 – Rob 2009-08-29 22:12:40