今天,我们模拟小米智能家庭应用程序方案,集成单个示例模式,组合模式和观察者模式以制作全面的应用程序案例。特定场景如下:
小米控制台随后实现[组合],小米电视和小米空调对[组件]的特定实施
小米控制台类通过[群体]父亲班的继承,意识到增加设备并指挥所有设备开始工作
继承[组件]父亲级,实现统一的调度接口,并准备后续的控制台均匀准备它们
很容易理解,家庭只需要一个实例
小米控制台控制所有智能设备以开始工作的时机,小米门铃的门打开的那一刻,因此我们将通过应用观察者模式实现这一需求;
观察者应实现四个接口:注册的观察者,取消观察者,更改数据状态并触发事件(因此观察者响应)
观察者接口主要需要提供事件响应接口的定义
小米门铃实现[观察者/数据]父亲班,通过继承,获得特定功能,例如注册设备,取消设备,更改数据和触发事件;切换门时,门open事件的数据变化将是导致Action的
小米控制台已经实施了观察者的父亲-in -law类。这是因为先前的小米控制台已经继承了[组合]父类,并且在JavaScript中没有标准继承。
扩展的小米控制台类别代码如下:
好的,一切都准备就绪
完整的代码如下:
原始:https://juejin.cn/post/7096185381820825613