명령 모드는 작업을 독립적인 개체로 캡슐화하고 개체에서 분리하며 코드 확장성과 재사용성을 향상시킵니다. Java 프레임워크에서는 MVC 아키텍처, 서블릿 필터, 트랜잭션 관리 및 메시지 처리에서 흔히 볼 수 있습니다. 실습 예제에서는 Java를 사용하여 원격 제어를 통해 거실과 주방의 조명을 켜고 끄는 명령 모드를 구현하는 방법을 보여줍니다.
Java 프레임워크의 명령 패턴 적용 시나리오
명령 패턴은 작업을 별도의 객체로 캡슐화할 수 있는 디자인 패턴입니다. 이를 통해 작업이 요청된 개체에서 작업을 분리할 수 있습니다. 이는 확장 가능하고 재사용 가능한 코드를 만드는 데 유용합니다.
Java 프레임워크에서 명령 패턴은 다음을 포함한 다양한 시나리오에서 사용됩니다.
실용 사례
다음은 Java를 사용하여 명령 모드를 구현하는 간단한 예입니다.
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); } }
위 내용은 Java 프레임워크에서 명령 모드의 적용 시나리오는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!