微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

装饰器与耦合聚合

装饰器与耦合聚合

装饰器

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

耦合度、聚合度

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

综上

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐