以 Note 記事本為例,示範 MVC 在 J2ME 專案中的完整應用:用例分析、類別發現、順序圖設計、程式碼結構。
專案描述
手機記事本功能:新增、瀏覽、修改、刪除記錄 (標題、時間、內容)。單機版原型,適合教學 MVC 應用方法。
用例分析
- 編輯記錄:顯示內容 → 編輯 → 放棄/存檔/另存新檔
- 瀏覽記錄:顯示標題/時間/內容 → 返回/轉編輯
- 管理記錄:列表顯示 → 開啟/編輯/新建/刪除 (確認提示)
類別發現 (OO 分析)
- 實體類:Note (title, content, datetime + get/set + 序列化)
- 生命週期類:NoteLocator (單例,負責 RMS 儲存/讀取/刪除)
- 控制類:NoteManagerWorkflow, NoteEditWorkflow (協調流程)
- 邊界類:NoteManagerUI, NotepadUI, NoteEditUI (對應三用例)
設計實踐:順序圖關鍵點

管理記錄流程:UI 透過介面 getNoteTitleList() 向 Workflow 取得 String[];Workflow 向 Locator 取資料,回傳 TitleList + IdList (唯一識別)。

瀏覽流程:UI 向 Workflow 取標題/內容;Workflow 惰性初始化 (getNote()) 向 Locator 取得 Note 物件,再委派給實體類取值。
經驗分享
- 設計階段專注介面定義,避免過早陷入細節 (如 RMS 實作)
- 實體類優先獨立開發測試
- 邊界類先行開發,控制/生命週期類用假資料 (fake data) 支撐
- 惰性初始化大幅降低代碼耦合
- 期盼 J2ME 單元測試自動化工具普及
系統 UML 與畫面截圖

畫面流程:管理列表 → 新建編輯 → 儲存輸入標題 → 列表更新 → 選擇瀏覽內容

代碼開源精神:Java 反編譯容易,設計比代碼更有價值,歡迎共同完善。