如果你想看看這個問題的更多詞語你想看看MVP和MVC。 (這些代表模型視圖控制器和模型視圖演示者)。有些人會說我這樣說,但他們在概念上非常相似。
MVP和MVC的目標是讓您設計您的應用程序邏輯,而無需考慮您的應用程序外觀。它還允許您定義您的用戶交互,而無需實施實際的GUI。從本質上講,你的模型是你的應用程序邏輯,你的數據,你的類實際上做類似於你的數據庫的類。您的演示者或控制者是與您的模型進行交互的內容,以及控制您的用戶界面並對界面上的用戶操作做出反應的內容。最後,您的視圖是您的Winforms設計或您的網頁。
我相信你可以在網上找到大量有關這方面的材料,但是給你一些具體的幫助,這個問題應該用來告知和說明你的閱讀。
您需要做的第一件事就是開始創建表示數據的對象。因此,您將擁有包含案例數據的CaseNote對象。您將擁有某種類型的案例說明數據容器,例如案例說明數據庫。您可以定義這些邏輯操作和屬性,就好像它們在哪裏實際項目一樣。
然後,您將繼續定義您的演示者或控制器,它將定義您要從GUI支持的操作。同時,您應該定義一個接口,以便爲演示者/控制器定義在GUI上可以執行哪些操作。因此,例如,您的演示者可能會公開一個名爲SearchForCaseNote的方法,該方法接受一個字符串參數。您的視圖界面將公開一種名爲DisplayCaseNote的方法。當用戶點擊搜索按鈕時,視圖將通過命令傳遞給演示者,演示者然後將調用模型來獲取數據。演示者可以在此處格式化數據,即將DateTime對象轉換爲字符串,然後通過名爲DisplayCaseNote的接口定義方法將數據傳回給視圖。
您不必使用視圖界面,您可以直接調用視圖,但具有界面意味着您可以有許多不同的視圖實現。
我需要提到的最後一件事是創建應用程序的這些不同部分的地方。我的觀點是應該從演示者/控制器中消失的一切。所以當你啓動應用程序時,它創建了演示者/控制器對象,然後創建並顯示你的視圖,將它自己作爲變量傳遞給視圖。然後,演示者/控制器可以通過從磁盤加載初始模型或通過像unity這樣的依賴注入容器理想地發現它們來創建初始模型。實際上,使用unity來發現視圖實現可能是一個更好的主意,因爲它可以讓您在視圖和演示者/控制器之間真正分離。當你移動到另一個視圖(即打開另一個窗口)時,演示者/控制器應該公開一個方法,例如DisplayDetailPage,當單擊按鈕時該視圖將調用該方法。這將爲下一個視圖創建演示者/控制器,從而創建視圖並獲取對該模型的引用。
希望這會有所幫助。