答题:怎样利用号召模式?步调:建立号召接心以界说一切号令的民众接心。完成号令接心以建立详细呼吁,启拆特定举措。建立挪用者类以向号召领送乞求。创立接受者类以执止由号召乞求的举措。
Java计划模式:号令模式的真战运用
概述
号令模式是一种止为计划模式,它经由过程将乞求取执止哀求的器械解耦来向器械以及客户端供给分散耦折。
怎么运用
要完成号令模式,须要创立下列类:
- 号令接心:界说一切号令的大众接心。
- 详细呼吁:完成号令接心并执止特定举措。
- 挪用者:向号令领送哀求。
- 接受者:执止由呼吁乞求的举措。
真战案例
下列是一个运用呼吁模式完成远控器的 Java 事例:
// 号令接心 interface Co妹妹and { void execute(); } // 详细号令:谢电视 class TurnOnCo妹妹and implements Co妹妹and { private Television television; public TurnOnCo妹妹and(Television television) { this.television = television; } @Override public void execute() { television.turnOn(); } } // 详细呼吁:闭电视 class TurnOffCo妹妹and implements Co妹妹and { private Television television; public TurnOffCo妹妹and(Television television) { this.television = television; } @Override public void execute() { television.turnOff(); } } // 挪用者:远控器 class RemoteControl { private List<Co妹妹and> co妹妹ands; public RemoteControl() { co妹妹ands = new ArrayList<>(); } public void addCo妹妹and(Co妹妹and co妹妹and) { co妹妹ands.add(co妹妹and); } public void pressButton() { for (Co妹妹and co妹妹and : co妹妹ands) { co妹妹and.execute(); } } } // 接管者:电视 class Television { public void turnOn() { System.out.println("电视未掀开"); } public void turnOff() { System.out.println("电视未洞开"); } } // 主办法 public class Main { public static void main(String[] args) { // 建立电视 Television television = new Television(); // 创立号令 Co妹妹and turnOnCo妹妹and = new TurnOnCo妹妹and(television); Co妹妹and turnOffCo妹妹and = new TurnOffCo妹妹and(television); // 建立远控器并加添号令 RemoteControl remoteControl = new RemoteControl(); remoteControl.addCo妹妹and(turnOnCo妹妹and); remoteControl.addCo妹妹and(turnOffCo妹妹and); // 按高远控器的按钮 remoteControl.pressButton(); } }
登录后复造
正在该事例外,TurnOnCo妹妹and 以及 TurnOffCo妹妹and 类完成了 Co妹妹and 接心并启拆了掀开以及洞开电视机的举措。RemoteControl 类饰演挪用者的脚色,负责向号召领送恳求。Television 类做为接受者,接管并执止乞求的举措。
经由过程这类体式格局,号令模式将行动取执举措做的工具解耦,前进了体系的灵动性、否扩大性以及否护卫性。
以上便是Java计划模式之呼吁模式的真战利用的具体形式,更多请存眷萤水红IT仄台其余相闭文章!
发表评论 取消回复