2011-07-21 71 views
5

我在尋找複雜的UI邏輯實現的最佳實踐。我正在研究Windows窗體應用程序,但我相信在任何平臺上都應該有通用模式來解決這個問題。你如何實現複雜的UI邏輯?

我在窗體上有一些控件,有列表,按鈕,表和樹視圖。所以,這個想法是,取決於「上下文」,一些控件被啓用,而另一些被禁用。其中一些可以提供一些功能,而其他功能則不能。

目前它「按原樣」實施。我處理事件,檢查更改(選擇新樹節點,選擇幾個節點等),然後決定是否需要禁用或啓用某些控件。我不太喜歡這種方法,因爲表單代碼看起來很複雜。如果我需要添加更多的邏輯,它變得更加複雜。我真的很擔心,因爲我們非常敏捷,新功能或許多更改都是​​日常規範。

我稀化這一切的邏輯分成部分(功能),其中每一個特點是,知道如何檢查其狀態的對象,並根據此狀態下,啓用或禁用相關的控件。

不是真的想發明任何新東西,並試圖找到任何廣泛使用的好想法。請不要推薦使用單一的UpdateUI()方法,我相信從長遠來看不會改變任何東西。

謝謝。

回答

2

用戶界面數據綁定和封裝您的業務邏輯到業務對象是要走的路。 CSLA.NET framework by Rocky Lhotka有很多很棒的內置功能以及一些示例應用程序。我用它在一箇中等規模的WPF項目和一個巨大的WinForms/CAB應用程序中,並且非常喜歡它。

+0

謝謝,會去看看! – agibalov