更新時間: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("防火"); } }
猜你喜歡: