Rumah Java javaTutorial Apakah senario aplikasi mod arahan dalam rangka kerja java?

Apakah senario aplikasi mod arahan dalam rangka kerja java?

Jun 06, 2024 pm 12:19 PM
mod arahan rangka kerja java

Mod arahan merangkum operasi menjadi objek bebas, memisahkannya daripada objek dan meningkatkan kebolehskalaan dan kebolehgunaan semula kod. Dalam rangka kerja Java, ia biasanya dilihat dalam seni bina MVC, penapis Servlet, pengurusan transaksi dan pemprosesan mesej. Contoh hands-on menunjukkan cara menggunakan Java untuk melaksanakan mod arahan untuk mengawal dan mematikan lampu di ruang tamu dan dapur melalui alat kawalan jauh.

Apakah senario aplikasi mod arahan dalam rangka kerja java?

Senario aplikasi corak arahan dalam rangka kerja Java

Corak arahan ialah corak reka bentuk yang membolehkan anda merangkum operasi ke dalam objek yang berasingan. Ini membolehkan anda memisahkan operasi daripada objek yang meminta operasi itu. Ini berguna untuk mencipta kod berskala dan boleh digunakan semula.

Dalam rangka kerja Java, corak arahan digunakan dalam pelbagai senario, termasuk:

  • MVC Architecture: Dalam seni bina MVC (Model-View-Controller), kelas pengawal biasanya memainkan peranan pemanggil dalam corak arahan. Pengawal bertanggungjawab untuk menerima permintaan pengguna dan menukarnya menjadi objek arahan tertentu. Objek arahan ini kemudiannya dihantar ke model, yang bertanggungjawab untuk melaksanakan operasi sebenar.
  • Penapis Servlet: Penapis Servlet boleh digunakan untuk mengubah respons servlet sebelum ia dihantar semula kepada pelanggan. Anda boleh menggunakan corak arahan untuk merangkum operasi transformasi ke dalam objek arahan yang berasingan dan menyuntiknya ke dalam penapis.
  • Pengurusan Transaksi: Dalam pengurusan transaksi, anda boleh menggunakan corak arahan untuk merangkum operasi pangkalan data ke dalam objek arahan. Ini membolehkan anda memisahkan pemprosesan transaksi daripada operasi pangkalan data sebenar.
  • Pemprosesan mesej: Dalam sistem pemprosesan mesej, anda boleh menggunakan corak arahan untuk merangkum operasi pemprosesan mesej ke dalam objek arahan. Ini membolehkan anda memisahkan logik pemprosesan mesej daripada baris gilir mesej.

Kes praktikal

Berikut ialah contoh mudah menggunakan Java untuk melaksanakan corak arahan:

interface Command {
    void execute();
}

class LightOnCommand implements Command {
    private final Light light;

    public LightOnCommand(Light light) {
        this.light = light;
    }

    @Override
    public void execute() {
        light.turnOn();
    }
}

class LightOffCommand implements Command {
    private final Light light;

    public LightOffCommand(Light light) {
        this.light = light;
    }

    @Override
    public void execute() {
        light.turnOff();
    }
}

class Light {
    public void turnOn() {
        System.out.println("Light turned on.");
    }

    public void turnOff() {
        System.out.println("Light turned off.");
    }
}

class RemoteControl {
    private final Command[] onCommands;
    private final Command[] offCommands;

    public RemoteControl() {
        onCommands = new Command[7];
        offCommands = new Command[7];

        Command noCommand = new NoCommand();
        for (int i = 0; i < 7; i++) {
            onCommands[i] = noCommand;
            offCommands[i] = noCommand;
        }
    }

    public void setCommand(int slot, Command onCommand, Command offCommand) {
        onCommands[slot] = onCommand;
        offCommands[slot] = offCommand;
    }

    public void onButtonWasPressed(int slot) {
        onCommands[slot].execute();
    }

    public void offButtonWasPressed(int slot) {
        offCommands[slot].execute();
    }

    private class NoCommand implements Command {
        @Override
        public void execute() {}
    }
}

public class CommandPatternDemo {
    public static void main(String[] args) {
        RemoteControl remoteControl = new RemoteControl();

        Light livingRoomLight = new Light();
        Light kitchenLight = new Light();

        LightOnCommand livingRoomLightOnCommand = new LightOnCommand(livingRoomLight);
        LightOffCommand livingRoomLightOffCommand = new LightOffCommand(livingRoomLight);
        LightOnCommand kitchenLightOnCommand = new LightOnCommand(kitchenLight);
        LightOffCommand kitchenLightOffCommand = new LightOffCommand(kitchenLight);

        remoteControl.setCommand(0, livingRoomLightOnCommand, livingRoomLightOffCommand);
        remoteControl.setCommand(1, kitchenLightOnCommand, kitchenLightOffCommand);

        remoteControl.onButtonWasPressed(0);
        remoteControl.offButtonWasPressed(0);
        remoteControl.onButtonWasPressed(1);
        remoteControl.offButtonWasPressed(1);
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah senario aplikasi mod arahan dalam rangka kerja java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perbandingan prestasi rangka kerja Java yang berbeza Perbandingan prestasi rangka kerja Java yang berbeza Jun 05, 2024 pm 07:14 PM

Perbandingan prestasi rangka kerja Java yang berbeza

Trend menggabungkan rangka kerja java dan pengkomputeran tepi Trend menggabungkan rangka kerja java dan pengkomputeran tepi Jun 05, 2024 pm 10:06 PM

Trend menggabungkan rangka kerja java dan pengkomputeran tepi

Gabungan rangka kerja Java dan rangka kerja Sudut hadapan Gabungan rangka kerja Java dan rangka kerja Sudut hadapan Jun 05, 2024 pm 06:37 PM

Gabungan rangka kerja Java dan rangka kerja Sudut hadapan

Masalah dan penyelesaian biasa dalam pengaturcaraan tak segerak dalam rangka kerja Java Masalah dan penyelesaian biasa dalam pengaturcaraan tak segerak dalam rangka kerja Java Jun 04, 2024 pm 05:09 PM

Masalah dan penyelesaian biasa dalam pengaturcaraan tak segerak dalam rangka kerja Java

Perbandingan mendalam: amalan terbaik antara rangka kerja Java dan rangka kerja bahasa lain Perbandingan mendalam: amalan terbaik antara rangka kerja Java dan rangka kerja bahasa lain Jun 04, 2024 pm 07:51 PM

Perbandingan mendalam: amalan terbaik antara rangka kerja Java dan rangka kerja bahasa lain

Analisis kelebihan dan kekurangan rangka kerja java Analisis kelebihan dan kekurangan rangka kerja java Jun 05, 2024 pm 02:48 PM

Analisis kelebihan dan kekurangan rangka kerja java

Apakah faedah corak kaedah templat dalam rangka kerja java? Apakah faedah corak kaedah templat dalam rangka kerja java? Jun 05, 2024 pm 08:45 PM

Apakah faedah corak kaedah templat dalam rangka kerja java?

Aplikasi bersepadu rangka kerja java dan kecerdasan buatan Aplikasi bersepadu rangka kerja java dan kecerdasan buatan Jun 05, 2024 pm 06:50 PM

Aplikasi bersepadu rangka kerja java dan kecerdasan buatan

See all articles