委托和事件
委托非常适合于用作事件(从一个组件就该组件中的更改通知“侦听器”)。
委托与接口
委托和接口的类似之处是,它们都允许分隔规范和实现。多个独立的作者可以生成与一个接口规范兼容的多个实现。类似地,委托指定方法的签名,多个作者可以编写与委托规范兼容的多个方法。何时应使用接口,而何时应使用委托呢?
委托在以下情况下很有用:
调用单个方法。
一个类可能希望有方法规范的多个实现。
希望允许使用静态方法实现规范。
希望类似事件的设计模式。
调用方不需要知道或获得在其上定义方法的对象。
实现的提供程序希望只对少数选择组件“分发”规范实现。
需要方便的组合。
接口在以下情况下很有用:
规范定义将调用的一组相关方法。
类通常只实现规范一次。
接口的调用方希望转换为接口类型或从接口类型转换,以获得其他接口或类。