推 melvinlee:謝謝您的指導阿!!!又了解一個觀念:) 05/28 22:00
SDI與MDI孰優孰劣早期曾有過不少爭論,對於Usability這個議題,你可以從其他介面設
計的書籍中去學一些,印象O'Reilly有出過中文版的書籍。
MDI的好處,我簡列幾項:
1. 開啟多項文件或功能時,不會使得使用者的工具列被快速佔滿。
2. 在如Photoshop這類軟體,同時編修多檔做內容比較、混合、跨檔拖曳內容...等操作
會比SDI模式的作業速度要有效率,且軟體功能設計應該會比較好達成。且要修改多
檔案Property內容值的時候,比較不會有SDI模式那種搞錯Property Window的問題。
3. 搜尋內容,在MDI模式模式下,例如Visual Studio好了,你搜尋程式碼內某些字串片
斷,然後再從搜尋結果起開啟所在文件,這樣的可用性會比SDI模式要好。
同理,瀏覽器在MDI模式下,可以同時搜尋已開啟的頁面內容,而不用在視窗間切換。
你可以思考瀏覽器從以前的SDI模式,轉換到現在的MDI模式(TDI模式)改善了什麼。我想
那些就大部份是MDI模式帶來的好處。(TDI: Tabbed Document Interface)
MDI的缺點,一時想不出有哪些,簡列一點:
1. 在沒有使用Tab來layout document時,不容易找到視窗,不容易曉得目前開啟了哪些
檔案項目。為了要看到開啟了哪些項目還要去點選功能表的視窗列表才看得出。
這個問題在引入TDI概念後就有改善,但是在TDI Layout下,項目視窗則又不方便自由
調整大小與不方便自由移動視窗了(想像Photoshop用Tab管理開啟的項目有多難用)。
2. 在如Excel這類型的軟體應用下,因為每個Workbook已經有多個Worksheet,若再加上
MDI模式,使得作業變得過度複雜不容易整理資料。早期Excel的MDI模式,對我而言同
時處理多個檔案,常感不方便。
採用什麼方式來設計介面,就看你是否有特別從使用者的可用性方面進行考量。
單就軟體功能設計我是覺得沒有太大差別,因為不管怎麼樣最後都有重構(Refactoring)
這個方法可以利用。
所以囉,我感覺你的問題比較屬於Software Usability的議題,非程式設計相關問題。因
此只能提供一點想法。
※ 引述《melvinlee (Melvin)》之銘言:
: 小的是菜鳥,剛接觸沒有實務經驗,
: 如有錯誤請鞭吧,出包才會長大。
: 有些觀念的問題想請問大家?
: 當在實做一個winform的視窗應用軟體時,
: 當一個軟體內有許多功能,而其子功能也很多,
: 基本上母功能拉出來都可以自成一個小型管理軟體
: 如薪資管理,營業管理(進銷存)等等,
: 是否採用書上多專案的方法,去各個專案開發好後,
: 再組合成一系統較好呢?
: 實務上真的用類似軟體零件組合應用系統的觀念較好嗎?
: 是不是這樣易debug且亦可作後續維護呢!?
: 要如何決定一個軟體是否使用MDI父子表單架構?
: 用MDI的架構好處是什麼呢?
: 除了在父表單的裡面,或者form易傳資料(?)
: 如果我今天不用MDI架構去開發,
: 單純按工具列或button後new form等動作,
: 這樣對軟體本身又有哪些好壞呢?
: 希望實戰經驗的各位能指導我一些觀念,
: 我上面沒有學長前輩可以教,
: 身邊目前也沒有開發winform的人~
: 就只好來這碰碰運氣發問了T_T
: 先謝謝看過及回覆的大大!!!
--
對於已經無法擁有的
唯一能做的是
不要忘記
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.125.251.180
※ 編輯: petrushka 來自: 140.125.251.180 (05/27 09:58)