我有一個流程圖,我正在實施,它有4或5個路徑通過它取決於用戶輸入和一些處理的結果。當然,我不想在Windows窗體中使用所有這些邏輯,我只是想在表單中調用類的方法。讓我的業務邏輯類引用System.Windows.Forms並顯示對話框和MessageBoxes以獲取它需要處理並返回結果的輸入,這是不好的設計嗎?讓業務邏輯對象提示用戶輸入是不是很糟糕的設計?
1
A
回答
4
是的,這是糟糕的設計。你的班級應該提供一種與表單溝通的意思,並獲取數據。只需創建事件並讓Form
訂閱它們,獲取信息以從定製的EventArgs
類創建對話框。獲得輸入後,只需通過第二個事件將相同的類與附加信息一起推回。
這應該類似於MVP模式。
3
是的,這是一個壞主意。您非常有效地將您的業務邏輯與演示文稿緊密結合。在其他情況下,您(可能不會)輕鬆地重新使用業務邏輯,並且您將無法在不觸及業務邏輯的情況下替換UI。
您需要讓UI和業務邏輯層進行通信,並讓UI層處理UI。
0
我認爲這是糟糕的設計。當你分離你的應用程序的組件時,一條經驗法則是讓它們保持分離,以便你可以在不同的計算機上運行它們。
0
是的。因爲這意味着你的商業對象根本就不是一個商業對象。
使用MVVM模式並將邏輯放入視圖模型中。
0
這是糟糕的設計,因爲您可能需要在具有不同UI或根本沒有UI(如在服務器或批處理過程)的情況下運行業務邏輯。這就是業務邏輯和用戶界面的分離。如果可能的話,在把事情交給業務邏輯之前,最好先在UI類中獲得所有必要的用戶輸入。但是,如果需要業務邏輯提示以獲取更多信息,那麼業務邏輯API採用回調方法委託最好,它可以調用以請求進一步的輸入。然後UI層可以決定如何最好地從用戶請求。
相關問題
- 1. 改變jButtons的功能是不是很糟糕的設計?
- 2. 公有變量是不是很糟糕?
- 3. AlarmManager和BroadcastReceiver而不是服務 - 是不是很糟糕? (超時)
- 4. 業務邏輯不是在表示層
- 5. 業務邏輯層設計
- 6. 業務邏輯設計
- 7. 這是一個糟糕的設計? UITabBarController
- 8. 訪問存儲庫中的UnitOfWork是不是很糟糕的設計?
- 9. 接受HTML代碼的HTML文本輸入真的很糟糕,還是很糟糕?
- 10. 該代碼是業務邏輯還是表示邏輯?
- 11. 在查詢中使用$ _SESSION ['id']是不是很糟糕?
- 12. 在前端解析HTML是不是很糟糕的形式?
- 13. PARTITION RANGE ALL在你的解釋計劃中是不是很糟糕?
- 14. 是EAV - Hybrid是一個糟糕的數據庫設計選擇
- 15. 在init中向self()發送消息是不是很糟糕?
- 16. setInterval一直在運行是不是很糟糕?
- 17. 在 - (void)dealloc中同步NSUserDefaults是不是很糟糕?
- 18. 在編寫索引時重啓MySQL是不是很糟糕?
- 19. 檢查每個asp.net請求的Properties.Settings設置是否很糟糕?
- 20. 用兩種方法創建一個小類只用於繼承是不是很糟糕的設計?
- 21. 在事務表中複製數據是否是一種糟糕的設計?
- 22. 在MVC中使用會話對象,它真的很糟糕嗎?
- 23. 設置默認值 - 表示邏輯或業務邏輯?
- 24. 業務對象設計
- 25. 業務對象DAL設計
- 26. 業務邏輯
- 27. 設計模式的混合是一個糟糕的實踐嗎?
- 28. 在數據庫和URL中使用冒號是不是很糟糕的形式?
- 29. 業務對象和業務邏輯有什麼區別
- 30. C#業務邏輯,業務對象,數據訪問,項目
MVP模式我相信,不是嗎? – nick 2011-01-10 21:59:52
這是我第一次做什麼的傾向。我想我只是在尋找某人來驗證它。謝謝。 – Keith 2011-01-10 23:22:53