码迷,mamicode.com
首页 > 其他好文 > 详细

装饰器与耦合聚合

时间:2018-09-02 17:09:40      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:特性   实现   完成   灵活   修改   相关   独立   使用   核心   

装饰器与耦合聚合

装饰器

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

耦合度、聚合度

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

综上

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

装饰器与耦合聚合

标签:特性   实现   完成   灵活   修改   相关   独立   使用   核心   

原文地址:http://blog.51cto.com/13886271/2169101

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!