本文主要是介绍学习接口设计原则☞接口隔离原则,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
package com.mode;
/*
接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,
而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。
本例子中,将一个庞大的接口变更为3个专用的接口所采用的就是接口隔离原则。
采用接口隔离原则对接口进行约束时,要注意以下几点:
1.接口尽量小,但是要有限度。
2.为依赖接口的类定制服务,只暴露给调用的类它需要的方法,
它不需要的方法则隐藏起来。只有专注地为一个模块提供定制服务,
才能建立最小的依赖关系。
3.提高内聚,减少对外交互。使接口用最少的方法去完成最多的事情。
*/
interface I1 {
public void method1();
}
interface I2 {
public void method2();
public void method3();
}
interface I3 {
public void method4();
public void method5();
}
class A {
public void depend1(I1 i) {
i.method1();
}
public void depend2(I2 i) {
i.method2();
}
public void depend3(I2 i) {
i.method3();
}
}
class B implements I1, I2 {
public void method1() {
System.out.println("类B实现接口I1的方法1");
}
public void method2() {
System.out.println("类B实现接口I2的方法2");
}
public void method3() {
System.out.println("类B实现接口I2的方法3");
}
}
class C {
public void depend1(I1 i) {
i.method1();
}
public void depend2(I3 i) {
i.method4();
}
public void depend3(I3 i) {
i.method5();
}
}
class D implements I1, I3 {
public void method1() {
System.out.println("类D实现接口I1的方法1");
}
public void method4() {
System.out.println("类D实现接口I3的方法4");
}
public void method5() {
System.out.println("类D实现接口I3的方法5");
}
}
public class Client {
public static void main(String[] args) {
A a = new A();
a.depend1(new B());
a.depend2(new B());
a.depend3(new B());
C c = new C();
c.depend1(new D());
c.depend2(new D());
c.depend3(new D());
}
}
原文: http://blog.csdn.net/zhengzhb/article/details/7296921
这篇关于学习接口设计原则☞接口隔离原则的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!