手機作為隨身數位終端,記事功能為高頻剛需。Note 提供記錄新增、瀏覽、修改、刪除、管理,每筆記錄含標題、建立/修改時間、內容。本文以此為載體,示範 MVC 在 J2ME (MIDP) 受限環境下的落地實踐。

Note(標題、時間、內容、序列化/反序列化)NoteLocator(單例,負責 RMS 持久化存取)NoteManagerUI, NotepadUI, NoteEditUI)NoteManagerWorkflow, NotepadWorkflow, NoteEditWorkflow
NoteManagerUI 透過約定介面 getNoteTitleList() 向 NoteManagerWorkflow 取得 String[]Workflow 向 NoteLocator 取得資料,內部維護 TitleList + IdList 雙陣列,ID 為系統唯一識別碼showNote(index) 轉換為 showNoteDispose(id),解耦 UI 索引與資料識別
NotepadUI 向 Workflow 取得標題/內容Workflow 採用惰性初始化:持有 note 與 noteId,getNote() 時才向 NoteLocator 載入實體getTitle(), getContent() 等存取方法

MVC 在 J2ME 非輕量級套用,而是針對受限資源(記憶體、CPU、畫面尺寸)的深思熟慮取捨。核心在於:介面契約優先、職責嚴格分離、惰性載入優化、假資料加速開發。此架構不僅支撐 Note 專案,更可作為 MIDP 應用開發的可複製範本。原始碼開放供學習參考,商業專案請遵循 GPL 授權。