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

J2ME 架構設計:將 MIDlet 與 UI 介面分離實作 MVC

     編輯:J2ME

雖增加代碼量,但為提升可維護性與擴充性,主流做法將 MIDlet 主類別與 UI 介面分離。

核心交換內容

  1. Display 物件:透過建構子傳遞
  2. 退出處理:透過靜態方法呼叫

完整範例程式碼

TestMIDlet.java (Controller)

package testmidlet;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class TestMIDlet extends MIDlet {
    private static TestMIDlet instance;
    private LoginForm displayable;
    private Display display;

    public TestMIDlet() {
        instance = this;
        display = Display.getDisplay(this);
        displayable = new LoginForm(display);
    }

    public void startApp() { display.setCurrent(displayable); }
    public void pauseApp() {}
    public void destroyApp(boolean unconditional) {}

    public static void quitApp() {
        instance.destroyApp(true);
        instance.notifyDestroyed();
        instance = null;
    }
}

LoginForm.java (View)

package testmidlet;
import javax.microedition.lcdui.*;

public class LoginForm extends Form implements CommandListener {
    private Display display;

    public LoginForm(Display display) {
        super("Test");
        this.display = display;
        setCommandListener(this);
        addCommand(new Command("Exit", Command.EXIT, 1));
    }

    public void commandAction(Command command, Displayable displayable) {
        if (command.getCommandType() == Command.EXIT) {
            TestMIDlet.quitApp();
        }
    }
}

此模式可延伸為完整 MVC:Model 處理資料/業務邏輯、View (Canvas/Form) 負責繪製/輸入、Controller (MIDlet/Workflow) 協調流程與狀態轉換。

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