委托和接口的使用时机
来源:互联网 发布:php开源大全 编辑:程序博客网 时间:2024/05/21 17:59
委托和接口都允许类设计器分离类型声明和实现。任何类或结构都能继承和实现给定的接口。可以为任何类上的方法创建委托,前提是该方法符合委托的方法签名。接口引用或委托可由不了解实现该接口或委托方法的类的对象使用。既然存在这些相似性,那么类设计器何时应使用委托,何时又该使用接口呢?
在以下情况下,请使用委托:
当使用事件设计模式时。
当封装静态方法可取时。
当调用方不需要访问实现该方法的对象中的其他属性、方法或接口时。
需要方便的组合。
当类可能需要该方法的多个实现时。
在以下情况下,请使用接口:
当存在一组可能被调用的相关方法时。
当类只需要方法的单个实现时。
当使用接口的类想要将该接口强制转换为其他接口或类类型时。
当正在实现的方法链接到类的类型或标识时:例如比较方法。
使用单一方法接口而不使用委托的一个很好的示例是 IComparable 或泛型版本 IComparable<(Of<(T>)>)。IComparable 声明 CompareTo 方法,该方法返回一个整数,指定相同类型的两个对象之间的小于、等于或大于关系。IComparable 可用作排序算法的基础。虽然将委托比较方法用作排序算法的基础是有效的,但是并不理想。因为进行比较的能力属于类,而比较算法不会在运行时改变,所以单一方法接口是理想的。
- 委托和接口的使用时机
- 抽象类和接口使用的时机
- C#异步委托之委托使用的时机浅析
- 接口与抽象类的使用时机
- 委托和代理(类似接口回调的使用)
- 接口和委托的区别
- 使用ThreadLocal变量的时机和方法
- 使用ThreadLocal变量的时机和方法
- 使用ThreadLocal变量的时机和方法
- awakeFromNib和 viewDidLoad的使用时机
- 使用ThreadLocal变量的时机和方法
- 使用ThreadLocal变量的时机和方法
- 使用ThreadLocal变量的时机和方法
- 接口和委托的区别(转)
- 接口和委托的区别在那里?
- 委托和接口的简单应用
- 接口和委托
- 接口和委托比较
- 一道Google面试题的新解法探索
- Linux内核模块LKM编译-自制Makefile模板
- Project Euler 44
- C#里边的控件缩写大全
- dsg 非归档复制数据 Err: Log not found(0). ( Thread:1 Seq:25736 )
- 委托和接口的使用时机
- 寒冬
- C++文件读写总结
- ios开发学习--日历(Calendar)效果源码分享--系列教程
- HOJ 1995 Venn Diagram
- makefile介绍
- 通过本机硬盘重装系统 (支持Win8/Win7等)新途径-NT6 HDD Installer使用教程
- 了解并解决代码签名问题
- hdu3397