iOS 低耦合和高聚合
2015-11-24 16:47
316 查看
iOS 低耦合和高聚合
1、 聚合,是对一个模块内部的度量,也就做内聚。这里的模块是广义的模块,它可能是子系统,可能是功能模块,也可能是功能模块中的某一个类。模块的成分包括模块的行为和状态。要做到高聚合,那么模块内部的行为必须要模块的内部状态紧密关联。通俗来讲,一个模块仅完成一个独立的功能,模块内部不存在与该功能无关的操作或状态。
2、 耦合,是模块之间相关联程度的度量。相对于聚合的内向性,耦合关注的是某一模块与其他模块之间的关联性。我们所追求的低耦合,就是将两个模块之间的联系尽可能的降低,一个模块发生改变对于其他模块的影响尽可能地小。
小结:在面向对象的设计中,低耦合与高聚合是相对的。一味的追求高聚合,必然会造成模块功能过于单一,二模块的数量急剧膨胀。所以,我们在设计和实现程序时必须要斟酌模块间的聚合和耦合程度。
MVC可以有效地将项目模块化,降低不同模块之间的耦合度,提高其可读性和可扩展性。
1、 聚合,是对一个模块内部的度量,也就做内聚。这里的模块是广义的模块,它可能是子系统,可能是功能模块,也可能是功能模块中的某一个类。模块的成分包括模块的行为和状态。要做到高聚合,那么模块内部的行为必须要模块的内部状态紧密关联。通俗来讲,一个模块仅完成一个独立的功能,模块内部不存在与该功能无关的操作或状态。
2、 耦合,是模块之间相关联程度的度量。相对于聚合的内向性,耦合关注的是某一模块与其他模块之间的关联性。我们所追求的低耦合,就是将两个模块之间的联系尽可能的降低,一个模块发生改变对于其他模块的影响尽可能地小。
小结:在面向对象的设计中,低耦合与高聚合是相对的。一味的追求高聚合,必然会造成模块功能过于单一,二模块的数量急剧膨胀。所以,我们在设计和实现程序时必须要斟酌模块间的聚合和耦合程度。
MVC可以有效地将项目模块化,降低不同模块之间的耦合度,提高其可读性和可扩展性。
相关文章推荐
- iOS开发笔记-判断输入的是否是汉字
- iOS 多线程编程之GCD
- 十六进制的颜色转换
- addSubView会使内存计数+1
- IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
- 最新支付宝集成遇到的一些坑。
- iOS点滴- ViewController详解
- ios switch中case中声明变量报错“expected expression”
- iOS tableview header留白,更换header时有留白
- iOS开发笔记- cell里放textView根据输入的文字动态改变textView以及cell高度
- iOS warning的一些处理方法
- iOS开发——正则表达式的应用
- iOS_九宫格代码
- iOS中如何使用PCH文件、修改其相对路径的方法
- iOS深入学习 (Block全面分析)
- iOS --- 自定义过渡
- Runtime的理解
- 使用CocoaPods来管理iOS项目的依赖库
- 如何解决键盘遮挡输入框问题
- iOS消息推送机制