首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

採用 MFC 實作 MVC 模式的球體示範程式:Model-View-Controller 架構解析

     編輯:關於ASP.NET

傳統面向過程採 Input-Processing-Output 模式,受限於 DOS 單任務。Windows 圖形介面下,MVC (Model-View-Controller) 更適合:將資料處理與顯示分離,維護擴展更靈活。

  • View: 顯示資料,從 Model 取得資料渲染。一 Model 可對應多 View(不同觀察角度)。
  • Model: 儲存資料、執行運算與處理。
  • Controller: 接收用戶輸入,轉換為 Model 操作。修改 Model 後通知 View 更新。

MFC 的 Document/View 架構實為 MVC 高層封裝,蒙蔽開發者視野。仍需理解 MVC 本質,以便在 SDK 或其他場合靈活運用。

球體示範程式結構

  • TextView(左側): 兩個 Edit 控件顯示表面積與體積,文字角度精確觀察。
  • CGraphicView(右側): 繼承 CStatic,直觀繪製球體。
  • CMVCSphereDlg(對話框): Controller,處理鍵盤輸入(輸入半徑回車)與滑鼠拖動(即時調整半徑並即時回饋)。
  • CSphere(Model): 儲存半徑,計算表面積、體積。

核心類別設計

class CSphere {
public:
  // 更新 Graphic View
  BOOL UpdateGraphicView(HWND hWnd, const CRect &rect, BOOL bErase);
  // 更新 Text View
  void UpdateTextView();
  // Controller 呼叫介面:設定半徑
  void SetRadius(float r);
private:
  float m_fRadius;
  float CalculateArea(float radius);
  float CalculateVolumn(float radius);
};

Model 主動推送更新至 View,Controller 僅負責輸入轉發,職責清晰分離。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved