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

    xiaoxiao2021-03-25  149

    定义:使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口

     

    举例说明:接口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接口。不用实现多余的方法。

     

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

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

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

    转载请注明原文地址: https://ju.6miu.com/read-10071.html

    最新回复(0)