J2ME (Java 2 Micro Edition) 1999 年推出,針對有限電源、網路、顯示能力的嵌入式裝置。7 年後硬體效能大幅提升(記憶體擴大、處理器加速),MIDP 2.0/CLDC 1.1 問世,JSR 標準層出不窮。應用複雜度隨之增長:早期遊戲限 64KB,現今動輒數百 KB 甚至超過 2MB。
傳統單類別架構(所有介面切換在 commandAction() 處理)優點:代碼最小、JAR 最小、執行效率最高、資料共享方便。缺點:千行代碼集中單類別,除錯維護困難;介面高度耦合,修改一介面易影響其他。
Model-View-Controller 由 Trygve Reenskaug 提出,應用於 SmallTalk-80,為互動系統基礎。將應用分為三層:
模型變更通知所有依賴視圖更新,實現變更傳播機制。
全程式單一 Controller 管理所有介面切換與事件。

優點:流程清晰集中。缺點:介面多時 Controller 膨脹龐大,影響開發效率。
依功能模組劃分,每模組一個 Controller。
優點:模組劃分清晰、結構清楚、單一 Controller 不會過大。缺點:類別數增加、控制器間通訊開銷增大。
移除 Controller,職責併入 View 或 Model。
適合中小型 J2ME 應用,減少類別數與複雜度。
僅保留 View,Model/Controller 全併入各介面。
類別數最少、效率最高,但耦合度最高。僅建議極簡單、資料極少應用使用。
作者已將 MVC 應用於 J2ME 手機 Podcast 軟體,效果良好。