组合-命令模式----实例分析

本文通过实例分析了组合命令模式在多功能开关中的应用,包括控制教室的灯光、风扇、空调和多媒体设备的开与关。介绍了模式的结构视图,并详细展示了控制器、抽象组合、抽象装置、设备组、具体命令和设备类的设计。同时,还提供了根据代码绘制的类图。
摘要由CSDN通过智能技术生成

应用场景

使用组合命令模式实现多功能开关,让用户进行设置,要么控制教室的所有灯的开和关,要么控制教室所有风扇的开和关,要么控制教室所有空调的开和关,要么控制教室里教学多媒体设备的开和关。

模式结构视图

在这里插入图片描述

代码设计

控制器类

public class Oyy22Controller {
   
    private Oyy22Command lightsOpenCommand, lightsCloseCommand, blowerOpenCommand, blowerCloseCommand, airOpenCommand,
            airCloseCommand, multiOpenCommand, multiCloseCommand;
    public Oyy22Controller(Oyy22Command lightsOpenCommand, Oyy22Command lightsCloseCommand,
                           Oyy22Command blowerOpenCommand, Oyy22Command blowerCloseCommand,
                           Oyy22Command airOpenCommand, Oyy22Command airCloseCommand,
                           Oyy22Command multiOpenCommand, Oyy22Command multiCloseCommand) {
   
        this.lightsOpenCommand = lightsOpenCommand;
        this.lightsCloseCommand = lightsCloseCommand;
        this.blowerOpenCommand = blowerOpenCommand;
        this.blowerCloseCommand = blowerCloseCommand;
        this.airCloseCommand = airCloseCommand;
        this.airOpenCommand = airOpenCommand;
        this.multiCloseCommand = multiCloseCommand;
        this.multiOpenCommand = multiOpenCommand;
    }
    public void openAllLights() {
   
        lightsOpenCommand.execute();
    }
    public void closeAllLights() {
   
        lightsCloseCommand.execute();
    }
    public void openBlower() {
   
        blowerOpenCommand.execute();
    }
    public void closeBlower() {
   
        blowerCloseCommand.execute();
    }
    public void openAirCleaner() {
   
        airOpenCommand.execute();
    }
    public void closeAirCleaner
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值