詳解java中命令行模式的實現(xiàn)
命令模式是一種行為設計模式,它允許您將請求封裝為對象,以便您可以將其參數(shù)化、隊列化、記錄和撤銷。在 Java 中實現(xiàn)命令模式涉及創(chuàng)建一個命令接口,具體命令類,以及一個接收者類,該接收者類執(zhí)行實際操作。下面是一個簡單的 Java 命令模式示例:
首先,創(chuàng)建一個命令接口(Command):
public interface Command { void execute(); }
然后,創(chuàng)建一個具體命令類,實現(xiàn)該接口:
public class LightOnCommand implements Command { private Light light; public LightOnCommand(Light light) { this.light = light; } @Override public void execute() { light.turnOn(); } }
創(chuàng)建另一個具體命令類:
public class LightOffCommand implements Command { private Light light; public LightOffCommand(Light light) { this.light = light; } @Override public void execute() { light.turnOff(); } }
接下來,創(chuàng)建一個接收者類,該類包含實際的操作:
public class Light { public void turnOn() { System.out.println("燈已打開"); } public void turnOff() { System.out.println("燈已關閉"); } }
現(xiàn)在,創(chuàng)建一個遙控器類,該類可以設置命令并執(zhí)行它們:
public class RemoteControl { private Command command; public void setCommand(Command command) { this.command = command; } public void pressButton() { command.execute(); } }
最后,可以測試這些類:
public class Main { public static void main(String[] args) { Light light = new Light(); Command lightOn = new LightOnCommand(light); Command lightOff = new LightOffCommand(light); RemoteControl remoteControl = new RemoteControl(); remoteControl.setCommand(lightOn); remoteControl.pressButton(); remoteControl.setCommand(lightOff); remoteControl.pressButton(); } }
這是一個簡單的命令模式示例,它演示了如何使用命令對象將操作參數(shù)化,并通過遙控器執(zhí)行這些操作。您可以根據(jù)需要擴展和修改這個示例以滿足特定的需求。
到此這篇關于詳解java中命令行模式的實現(xiàn)的文章就介紹到這了,更多相關java命令行模式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java多線程提交按照時間順序獲取線程結(jié)果詳解流程
在工作中是否存在這樣的場景,多個線程提交執(zhí)行,你不想全部線程執(zhí)行結(jié)束了獲取結(jié)果,而是有線程完成返回結(jié)果就獲取消費。本文提供該場景的工具類,可以直接用哦2021-11-11如何利用 Either 和 Option 進行函數(shù)式錯誤處理
這篇文章主要介紹了如何利用 Either 和 Option 進行函數(shù)式錯誤處理。在 Java 中,錯誤的處理在傳統(tǒng)上由異常以及創(chuàng)建和傳播異常的語言支持進行。但是,如果不存在結(jié)構(gòu)化異常處理又如何呢?,需要的朋友可以參考下2019-06-06如何在Spring Boot應用程序中配置了兩個不同的SOAP Web服務端點
這篇文章主要介紹了如何在Spring Boot應用程序中配置了兩個不同的SOAP Web服務端點,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08Java Kafka實現(xiàn)優(yōu)先級隊列的示例詳解
在分布式系統(tǒng)中,消息隊列是一種常見的異步通信機制,而優(yōu)先級隊列則是消息隊列的一種特殊形式,下面我們來看看如何利用Kafka實現(xiàn)優(yōu)先級隊列吧2025-03-03java生成csv文件亂碼的解決方法示例 java導出csv亂碼
這篇文章主要介紹了java生成csv文件亂碼的解決方法,大家可以直接看下面的示例2014-01-01SpringBoot基于RabbitMQ實現(xiàn)消息可靠性的方法
RabbitMQ 提供了 publisher confirm 機制來避免消息發(fā)送到 MQ 過程中丟失,這種機制必須給每個消息指定一個唯一ID,消息發(fā)送到MQ以后,會返回一個結(jié)果給發(fā)送者,表示消息是否處理成功,本文給大家介紹了SpringBoot基于RabbitMQ實現(xiàn)消息可靠性的方法,需要的朋友可以參考下2024-04-04