耦合的相关了解

一、耦合

1、耦合是指两个/两个以上的体系/两种运动形式间通过相互作用而彼此影响以至联合起来的现象(两个及以上相互关联)。

2、在软件工程中,对象之间的耦合度就是对象之间的依赖性对象之间的耦合越高,维护成本越高,因此对象的设计应使类和构件之间的耦合最小

二、解耦

1、解耦,就是解除耦合关系。

2、在软件工程中,降低耦合度即可以理解为解耦,模块间有依赖关系必然存在耦合,理论上的绝对零耦合是做不到的,但可以通过一些现有的方法将耦合度降至最低。

3、观察者模式:观察者模式存在的意义就是「解耦」,它使观察者被观察者的逻辑不再搅在一起,而是彼此独立、互不依赖。QQ消息推送来了之后,既要在通知栏上弹个推送,又要在桌面上标个小红点,也是观察者与被观察者的巧妙配合。

三、减少耦合的方法

1.避免全局耦合,尽量减少全局变量的使用,以防止全局变量污染;

2.js/css/html的耦合,通常这三者有交集,会有js控制css样式或html结构的时候,不推荐直接在js里面更改样式属性,而应该通过增删类来控制样式,这样子样式还是回归到css文件里面;

$(".bar").css({position:fixed;top:0;left:0;});  //不推荐

fixed的css样式:

.bar .fixed{

        position:fixed;

        left:0;

        top:0;

}

//js增加fixed

$(".bar").addClass("fixed");

//js取消fixed

$(".bar").removeClass("fixed");

3.减少重复代码,思路:出现了重复代码 -> 封装成一个函数 -> 封装成一个模块 -> 封装成一个插件,抽象级别不断提高,将共有的特性和有差异的地方分离出来(当你走在抽象与封装的路上的时候,那你应该也是走在了大神的路上,以前不理解这句话后来逐渐深有体会);

4.封装成一个类,使用类是模块化的一种思想,另外一种常用的还有策略模式;

5.策略模式

6.访问者模式,事件监听就是一个访问者模式。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 减少前端代码耦合 https://zhuanlan.zhihu.com/p/24495650原作者:李银城什么是代...
    roku2333阅读 470评论 0 0
  • mvc与mvvm的区别: Model-View- Controlle 模型-视图-控制器(业务逻辑) 单向通信 V...
    kudosizuka1阅读 1,110评论 0 32
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,082评论 2 59
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,281评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,122评论 0 4