zoukankan      html  css  js  c++  java
  • 温故而知新何时使用委托而不使用接口

    委托和接口都允许类设计器分离类型声明和实现。

    任何类和结构都能继承和实现给定的接口。可以为任何类上的方法创建委托,前提是该方法符合委托的方法的签名。

    接口引用或委托可由不了解实现该接口或委托方法的类的对象使用,既然存在这些相似性,那么类设计器何时应该使用委托,何时应该使用接口呢?

    在一下情况下,请使用委托:

    当使用事件设计模式时。

    当封装静态方法可取时。

    当调用方不需要访问实现该方法的对象中的其他属性、方法或接口时。

    需要方便的组合。

    当类可能需要该方法的多个实现时。

    下面情况下,使用接口:

    当存在一组可能被调用的相关方法时。

    放类只需要方法的单个实现时。

    当使用接口的类想要将该接口强制转换为其他接口或类类型时。

    当正在实现的方法链接到的类的类型或标识时:例如比较方法。

    IComparable或泛型版本IComparable<T>就是一个使用单一方法接口而不使用委托的示例。

    IComparable声明CompareTo方法,该方法返回一个整数,指定相同类型的两个对象之间的小于、等于或大于关系。IComparable可用作排序算法的基础。虽然将委托比较方法用作排序算法的基础是有效的,但并不理想。因为进行比较的能力属于类,而比较算法不会在运行时改变,所以单一方法接口是理想的。

  • 相关阅读:
    Java数据结构学习Day2_Java基础排序算法
    Java数据结构学习Day1_队列_用数组模拟队列以及环形队列
    Java数据结构学习Day1_稀疏数组
    系统结构实践第七次作业——23组
    第04组 Alpha事后诸葛亮
    第04组 Alpha冲刺(4/4)
    第04组 Alpha冲刺(3/4)
    第04组 Alpha冲刺(2/4)
    第04组 Alpha冲刺(1/4)
    第四组团队git现场编程实战
  • 原文地址:https://www.cnblogs.com/zhangxiaohui/p/2554642.html
Copyright © 2011-2022 走看看