桥接模式

桥接模式(Bridge):在系统沿着多个维度变化的同时,又不增加其复杂度并以达到解耦。
在写代码时要注意对相同的逻辑做抽象提取处理,使得代码更加简洁,复用率也会更高,可读性也更高,这是面向对象编程的一个目的。
例如一个使得元素字体颜色和背景颜色改变的功能,可以抽象为一个函数,在触发事件是执行这个函数即可。

//抽象
function changeColor (dom,color,bg){
    dom.style.color = color;
    dom.style.background = bg;
}

在事件与业务逻辑之间搭接桥梁,使用的模式就是桥接模式,需要一个匿名函数来代替,否则直接将这个函数作为回调,它们还将耦合在一起。

var spans = document.getElementsByTagName('span');
spans[0].onmouseover = function(){
    changeColor(this,'red','#ddd');
}

change函数中的dom实际上就是事件回调函数中的this,想要解除它们之间的耦合,就需要一个桥接方法——匿名回调函数,通过这个回调函数,可以将获取到的this传递到changeColor函数中,可以实现需求并解耦。
桥接模式就是先抽象提取共用部分,然后将实现与抽象通过桥接方法链接在一起。解耦分离后,可以使两部分独立变化

设计模式 文章被收录于专栏

设计模式

全部评论

相关推荐

点赞 评论 收藏
分享
11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务