首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

基於 MVC 模式的 J2ME 應用程式架構設計與演進策略

     編輯:Java 相關知識

J2ME 發展現狀與挑戰

J2ME (Java 2 Micro Edition) 1999 年推出,針對有限電源、網路、顯示能力的嵌入式裝置。7 年後硬體效能大幅提升(記憶體擴大、處理器加速),MIDP 2.0/CLDC 1.1 問世,JSR 標準層出不窮。應用複雜度隨之增長:早期遊戲限 64KB,現今動輒數百 KB 甚至超過 2MB。

傳統單類別架構(所有介面切換在 commandAction() 處理)優點:代碼最小、JAR 最小、執行效率最高、資料共享方便。缺點:千行代碼集中單類別,除錯維護困難;介面高度耦合,修改一介面易影響其他。

MVC 模式簡介

Model-View-Controller 由 Trygve Reenskaug 提出,應用於 SmallTalk-80,為互動系統基礎。將應用分為三層:

  • Model(模型):資料與商務邏輯
  • View(視圖):介面顯示
  • Controller(控制器):輸入處理、介面切換、協調 Model/View

模型變更通知所有依賴視圖更新,實現變更傳播機制。圖1: MVC 關係圖

J2ME 應用 MVC 四種變體

3.1 單一控制器 MVC

全程式單一 Controller 管理所有介面切換與事件。圖2: 單一控制器 圖3: 介面切換流程

優點:流程清晰集中。缺點:介面多時 Controller 膨脹龐大,影響開發效率。

3.2 多控制器 MVC

依功能模組劃分,每模組一個 Controller。圖4: 多控制器

優點:模組劃分清晰、結構清楚、單一 Controller 不會過大。缺點:類別數增加、控制器間通訊開銷增大。

3.3 簡化 MV 模式(M-VC 或 MC-V)

移除 Controller,職責併入 View 或 Model。圖5: MV 模式

適合中小型 J2ME 應用,減少類別數與複雜度。

3.4 極簡 V 模式

僅保留 View,Model/Controller 全併入各介面。圖6: V 模式

類別數最少、效率最高,但耦合度最高。僅建議極簡單、資料極少應用使用。

MVC 在 J2ME 優缺點分析

優點

  1. 靈活性:三層分離,業務變更改 Model,介面變更改 View
  2. 分工協作:資料庫/網路專家做 Model,UI 專家做 View,提升效率
  3. 可測試性:Model 抽象度高,易單元測試(J2meUnit),保證品質

缺點(J2ME 明顯放大)

  1. 代碼膨脹:引入 MVC 代碼量約為非 MVC 1.5 倍,對儲存空間有限裝置致命
  2. 效能損耗:層間傳遞資料耗費系統時間、類別載入增加啟動時間
  3. 定義模糊:三組件具體職責存爭議,初學者易掉陷阱

結語與選型建議

  • 大型複雜應用:採用完整 MVC(單一或多控制器)
  • 中小型應用:採用簡化 MV 模式
  • 極簡單應用:採用 V 模式

作者已將 MVC 應用於 J2ME 手機 Podcast 軟體,效果良好。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved