外观模式
- 为子系统中的一组接口提供了一个高层接口
- 使用者使用这个高层接口
示例
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200928002427700.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDY5MzY0Mw==,size_16,color_FFFFFF,t_70#pic_center)
UML类图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200928002518343.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDY5MzY0Mw==,size_16,color_FFFFFF,t_70#pic_center)
场景
function bindEvent(elem, type, selector, fn) {
if (fn == null) {
fn = selector
selector = null
}
}
bindEvent(elem, 'click', '#div1', fn)
bindEvent(elem, 'click', fn)
设计原则验证
- 不符合单一职责原则和开放封闭原则,因此谨慎使用,不可滥用。