【架构师之路】-【01设计模式】-05设计原则之接口分离原则

来源:互联网 发布:网络综合布线报价单 编辑:程序博客网 时间:2024/05/19 13:24
定义:使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口

 

举例说明:接口A需要实现方法a、b、c,具体实现类B实现方法a、b,实现类C实现a、c。所以B,C需要实现它们不需要的方法。

public interface A {public void function1();public void function2();public void function3();}public class B implements A{public void function1(){system.out.print("需要实现的方法1");}public void function2() {system.out.print("需要实现的方法2");}public void function3() {system.out.print("不需要实现的方法3;但也必须实现");}}public class C implements A{public void function1(){system.out.print("需要实现的方法1");}public void function2() {system.out.print("不需要实现的方法2;但也必须实现");}public void function3() {system.out.print("需要实现的方法3");}}


以上代码实现造成了方法的多余;B类中不需要实现 方法3;但也必须实现 ;C类中不用实现方法2;但也必须实现。所以改造一下呢?

public interface A1 {public void function1();public void function2();}public interface A2 {public void function1();public void function3();}public class B implements A1{public void function1(){system.out.print("需要实现的方法1");}public void function2() {system.out.print("需要实现的方法2");}}public class C implements A2{public void function1(){system.out.print("需要实现的方法1");}public void function3() {system.out.print("需要实现的方法3");}}

将接口分为两类;A1和A2;分别包含方法f1,f2    和f1,f3;B和C分别实现A1和A2接口。不用实现多余的方法。

 

最后总结一下:接口分离原则 就是子类 不用实现 多余的接口方法

优点:子类不用实现过多的接口;

缺点:接口分得过细过多,导致系统复杂。

0 0
原创粉丝点击