加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

装饰器与耦合聚合

发布时间:2020-12-14 05:06:07 所属栏目:百科 来源:网络整理
导读:装饰器与耦合聚合 装饰器 装饰器本质也是一个一参高阶函数,参数也是函数,构成了函数的嵌套,再利用闭包特性将内外层函数的作用域联系起来。 主要用于函数非核心功能的增加,使原函数的功能增强,应用范围更广,方式更灵活,将核心功能和非核心功能解耦。
装饰器与耦合聚合

装饰器

  1. 装饰器本质也是一个一参高阶函数,参数也是函数,构成了函数的嵌套,再利用闭包特性将内外层函数的作用域联系起来。
  2. 主要用于函数非核心功能的增加,使原函数的功能增强,应用范围更广,方式更灵活,将核心功能和非核心功能解耦。
  3. 所以当需要对核心功能的函数做附属功能增强时,但又不想因为附属功能的修改影响到核心功能,降低各个功能的耦合度,首选使用装饰器。

耦合度、聚合度

1.”程序=数据结构+算法“这句话广为人知,而“程序的要求是高聚合、低耦合”这句话也具有同等的重要性。
2.耦合和聚合一直都以“高聚合,低耦合”的形式一同出现,聚合是一个模块内部各成分之间相关联成都的度量,耦合是模块之间相关联程度的度量。
3.对于聚合,它是对一个模块(最低级狭义的就是函数)内部的度量,所以常称内聚。一般来说,要做到高聚合,一个模块应该只能完成一个独立的功能,模块内部不存在与该功能无关的操作与状态。
4.对于耦合,它主要指不同对象之间相互管理的程度,模块之间的关联越少越好。如果一个对象过多的依赖于其他对象来完成自己的工作,则不仅使该对象的可理解性下降,而且还会增加测试、修改的难度,同事降低了类的可重用性和可移植性。
对象不可能是完全孤立的,当连个对象必须相互联系时,应该通过类的公共接口实现耦合,不应该依赖于类的具体实现细节。

综上

装饰器这个类,给核心功能函数和增强功能函数提供了一个公共的接口来耦合,但各个功能之间是不相互依赖、解耦的,使调试和修改更方便,代码的健壮性也提高了,应尽可能的多使用。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读