济南达内培训的老师说,此时,我们应该在全局名称空间中定义一个新的公共接口供其他面临同一问题的代码重用。当我们需要象使用C语言中的函数指针一样使用参数时,创建唯一的接口描述参数需求是最好的选择。例如,假设有下面这个过程:
static public void sort(List list, SortComparison comp) {…}
该方法运用参数中提供的比较对象comp,通过比较给定列表list中的对象排序list列表。sort对comp对象的唯一要求是要调用一个方法进行比较,因此SortComparison接口不能在其他地方重用。

第三大措施:把参数类型改成接口
在面向对象编程中,代码重用真正的要点在于通过接口参数类型利用多态性,而不是通过类继承,我们通过对接口而不是对类编程达到代码重用的目的。如果某个方法的所有参数都是对一些已知接口的引用,那么这个方法就能够操作这样一些对象,当我们编写方法的代码时,这些对象的类甚至还不存在。从技术上说,可重用的是方法,而不是传递给方法的对象。
例如,让我们假设有这样一个方法:
static public boolean areAnyOverlapping(Collection rects) {…}
该方法用于检查给定集合中的任意矩形对象是否重叠。在这个方法的内部,当我们用循环依次访问集合中的各个对象时,如果我们不能把对象cast成为Rectangular之类的接口类型,又如何能够访问对象的矩形区域呢?唯一的选择是把对象cast成为它特有的类形式,它意味着方法必须事先知道它所操作的对象类型,从而使得方法的重用只限于那几种对象类型。
总而言之,本文三个措施适合于改造现有的、按照面向对象惯例编写的代码。这三个措施与面向对象编程技术结合就得到了一种可在以后编写代码时使用的新式代码编写技术,它能够简化方法的复杂性和依赖关系,同时提高方法的可重用能力和内部凝聚力。当然,这里的三个措施不能用于那些天生就不适合重用的代码。不适合重用的代码通常出现在应用的表现层。
为了让大家的学习变得轻松、高效,我也特意找朋友录制了一些关于Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术的资料视频免费给大家学习和欣赏。
以上就是济南达内培训给大家做的内容详解,更多关于IT的学习,请继续关注济南达内培训