C# 接口到底何时用最合适
答案:4 悬赏:10 手机版
解决时间 2021-04-13 20:41
- 提问者网友:低吟詩仙的傷
- 2021-04-12 23:16
C# 接口到底何时用最合适
最佳答案
- 五星知识达人网友:时间的尘埃
- 2021-04-12 23:29
在以下情况下,请使用接口:
1.当存在一组可能被调用的相关方法时。
2.当类只需要方法的单个实现时。
3.当使用接口的类想要将该接口强制转换为其他接口或类类型时。
4.当正在实现的方法链接到类的类型或标识时:例如比较方法。
使用单一方法接口而不使用委托的一个很好的示例是 IComparable 或泛型版本 IComparable<(Of <(T>)>)。IComparable 声明 CompareTo 方法,该方法返回一个整数,指定相同类型的两个对象之间的小于、等于或大于关系。IComparable 可用作排序算法的基础。虽然将委托比较方法用作排序算法的基础是有效的,但是并不理想。因为进行比较的能力属于类,而比较算法不会在运行时改变,所以单一方法接口是理想的。
1.当存在一组可能被调用的相关方法时。
2.当类只需要方法的单个实现时。
3.当使用接口的类想要将该接口强制转换为其他接口或类类型时。
4.当正在实现的方法链接到类的类型或标识时:例如比较方法。
使用单一方法接口而不使用委托的一个很好的示例是 IComparable 或泛型版本 IComparable<(Of <(T>)>)。IComparable 声明 CompareTo 方法,该方法返回一个整数,指定相同类型的两个对象之间的小于、等于或大于关系。IComparable 可用作排序算法的基础。虽然将委托比较方法用作排序算法的基础是有效的,但是并不理想。因为进行比较的能力属于类,而比较算法不会在运行时改变,所以单一方法接口是理想的。
全部回答
- 1楼网友:冷風如刀
- 2021-04-13 01:59
自己把握
- 2楼网友:等灯
- 2021-04-13 00:32
当你在做分层开发的时候就常用到,底层公布接口给上层调用
接口是一种约定,就好比大家都只按照规定的约定做事情,但是至于在这个规定下,具体怎么做,可以有不同的方式,这就是先定义接口再实现的方式,不用等实现完成之后才能公开,接口定义好了之后,一旦发布,最好不要修改,否则会造成集成的类都要修改。
举个例子,比如你有一个项目,要支持一个硬件设备。在结构设计时,对于这部分的实施很有可能来独立实现(有可能
是你们开发组做,也有可能外包出去)。这时就可以制定一个接口。client和server方都按照这一定义进行各自的开发。这就可以
保证将来两方面可以配合。就像生产螺钉螺母一样。
有时接口还可以起到一定的版权保护功能。比如你做了一个remoting服务。你要发布一个stub给你得客户端。如果客户
端由第三方来写。你可能不想不实施部分发布出去。这时你就可以把一个借口定义发布出去。
一般来说,要改变服务都是对现有接口进行增补而不是直接修改。为的是便于管理。商业上一般都这么操作,你当然可以靠版本
来控制,不过大家都不这么做。如果你改了现有接口,遇到较真的,争执起来,你很难争取到主动。
接口是一种约定,就好比大家都只按照规定的约定做事情,但是至于在这个规定下,具体怎么做,可以有不同的方式,这就是先定义接口再实现的方式,不用等实现完成之后才能公开,接口定义好了之后,一旦发布,最好不要修改,否则会造成集成的类都要修改。
举个例子,比如你有一个项目,要支持一个硬件设备。在结构设计时,对于这部分的实施很有可能来独立实现(有可能
是你们开发组做,也有可能外包出去)。这时就可以制定一个接口。client和server方都按照这一定义进行各自的开发。这就可以
保证将来两方面可以配合。就像生产螺钉螺母一样。
有时接口还可以起到一定的版权保护功能。比如你做了一个remoting服务。你要发布一个stub给你得客户端。如果客户
端由第三方来写。你可能不想不实施部分发布出去。这时你就可以把一个借口定义发布出去。
一般来说,要改变服务都是对现有接口进行增补而不是直接修改。为的是便于管理。商业上一般都这么操作,你当然可以靠版本
来控制,不过大家都不这么做。如果你改了现有接口,遇到较真的,争执起来,你很难争取到主动。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯