介面隔離原則是什麼,以及如何在 C# 中實現它?


不應強迫客戶端依賴於他們不使用的介面。

介面隔離原則規定不應強迫客戶端實現他們不使用的介面。

與其使用一個龐大的介面,不如根據方法組使用許多小型介面,每個介面服務於一個子模組。

在介面隔離之前

示例

public interface IProduct {
   int ID { get; set; }
   double Weight { get; set; }
   int Stock { get; set; }
   int Inseam { get; set; }
   int WaistSize { get; set; }
}
public class Jeans : IProduct {
   public int ID { get; set; }
   public double Weight { get; set; }
   public int Stock { get; set; }
   public int Inseam { get; set; }
   public int WaistSize { get; set; }
}
public class BaseballCap : IProduct {
   public int ID { get; set; }
   public double Weight { get; set; }
   public int Stock { get; set; }
   public int Inseam { get; set; }
   public int WaistSize { get; set; }
   public int HatSize { get; set; }
}

在介面隔離之後

示例

public interface IProduct {
   int ID { get; set; }
   double Weight { get; set; }
   int Stock { get; set; }
}
public interface IPants {
   int Inseam { get; set; }
   int WaistSize { get; set; }
}
public interface IHat {
   int HatSize { get; set; }
}
public class Jeans : IProduct, IPants {
   public int ID { get; set; }
   public double Weight { get; set; }
   public int Stock { get; set; }
   public int Inseam { get; set; }
   public int WaistSize { get; set; }
}
public class BaseballCap : IProduct, IHat {
   public int ID { get; set; }
   public double Weight { get; set; }
   public int Stock { get; set; }
   public int HatSize { get; set; }
}

更新於:2020年11月25日

319 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.