Re: [問題] 用MFC的Dialog的一個問題
※ 引述《rosemary0401 (rosemary0401)》之銘言:
: MVC的架構是希望UI部分的程式和功能部分的程式能夠分開
: 請問使用MFC的Dialog架構來寫程式的時候,是否就已經符合了MVC的架構
: 還是要另外創一個class來寫功能的部分呢?
MFC 的 Doc/View 比較符合 MVC 架構
Dialog Based 的程式若沒有特別設計,就偏向 View + Controller 的角色
若 Dialog 的介面是固定的話 (例如按鈕的位置都不會改變)
這樣的設計還可以接受。
至於 Model 的部分當然最好寫個 class 包裝起來。
可以寫個練習 MVC 的小程式,
"Slider Bar Demo": 在 Dialog 上加上 slider control & static text control(label)
slider 的值介於 1~100 之間,當 slider 滑動時,label 中的數值會跟著變動
1. Model : 一個整數值,用來表示 slider 的位置 (用 class 包裝起來)
2. View : Dialog based slider bar & label
3. Controller: 當 slider 滑動時,改變 Model 的值,並修改對應的 label
MVC 當中的 controller 是針對 Model 與 View 特殊設計的,因此可複用性最低。
而 Model 與 View 設計的好的話重用性就很高了。
<<Head First Design Pattern>> 中說 MVC 是一個複合的 pattern
Model 利用 Observer 模式讓 Controller 和 View 得知改變
而 Controller 是 View 的行為 (Strategy 模式),也就是若要改變 View 的行為,
換一個 Controller 即可。把握這個觀念,就比較容易寫出符合 MVC 的程式。
當然這個小程式用 MVC 設計也許有 overdesign 之嫌~
以下是一個 iPhone 的作業程式,可以用 MFC 寫寫看
http://www.inside.com.tw/2010/02/17/cs193p-assignment-3
XCode (iPhone程式 的 IDE) 寫出來的程式很容易就符合 MVC
上面這個程式用 MFC 來寫就稍微辛苦一點
Have Fun!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.96.34
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章