有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

基于物联网的家庭自动化系统(如Alexa)中使用的java设计模式

我正在尝试设计一个基本的基于物联网的家庭自动化系统,比如Alexa或Google home。那么,有谁能解释一下Alexa或Google Home中使用的基本设计模式是什么,它们可以动态注册灯光和风扇等新设备,并对它们执行操作

我已经使用一组固定的设备使用命令模式实现了这一点,但需要扩展它,以便在不更改Alexa之类的代码的情况下注册动态运行时新对象

public SmartHomeDevice getSmartHomeDevice(String deviceName) {
        SmartHomeDevice smartHomeDevice = null;

        if (SmartHomeDeviceCategoryConstants.DRAWING_ROOM_LIGHT.getName().equalsIgnoreCase(deviceName)) {
            smartHomeDevice = new Light(deviceName);
        } else if (SmartHomeDeviceCategoryConstants.LIVING_ROOM_FAN.getName().equalsIgnoreCase(deviceName)) {
            smartHomeDevice = new Fan(deviceName);
        } else if (SmartHomeDeviceCategoryConstants.SMART_CHARGER.getName().equalsIgnoreCase(deviceName)) {
            smartHomeDevice = new ElectricalDevice(deviceName);
        }
        return smartHomeDevice;
    }
}

共 (0) 个答案