更新时间:2021-08-19 来源:黑马程序员 浏览量:
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。这六条分别是开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、迪米特法则、合成复用原则,下面主要介绍里接口隔离原则。
客户端不应该被迫依赖于它不使用的方法;一个类对另一个类的依赖应该建立在最小的接口上。
下面看一个例子来理解接口隔离原则
【例】安全门案例
我们需要创建一个黑马品牌的安全门,该安全门具有防火、防水、防盗的功能。可以将防火,防水,防盗功能提取成一个接口,形成一套规范。类图如下:
上面的设计我们发现了它存在的问题,黑马品牌的安全门具有防盗,防水,防火的功能。现在如果我们还需要再创建一个传智品牌的安全门,而该安全门只具有防盗、防水功能呢?很显然如果实现SafetyDoor接口就违背了接口隔离原则,那么我们如何进行修改呢?看如下类图:
代码如下:
AntiTheft(接口):
public interface AntiTheft { void antiTheft(); }
Fireproof(接口):
public interface Fireproof { void fireproof(); }
Waterproof(接口):
public interface Waterproof { void waterproof(); }
HeiMaSafetyDoor(类):
public class HeiMaSafetyDoor implements AntiTheft,Fireproof,Waterproof { public void antiTheft() { System.out.println("防盗"); } public void fireproof() { System.out.println("防火"); } public void waterproof() { System.out.println("防水"); } }
ItcastSafetyDoor(类):
public class ItcastSafetyDoor implements AntiTheft,Fireproof { public void antiTheft() { System.out.println("防盗"); } public void fireproof() { System.out.println("防火"); } }
猜你喜欢: