簡體   English   中英

使用界面時的最佳做法

[英]Best practices when using an interface

很多時候,在設計接口時,我會一直遇到相同的情況。 這種情況是使用接口的某些實現需要接口中的特定參數而其他實現不需要。

  • 設計界面時的最佳做法是什么?
  • 是否可以使用某些實現接口但不使用所有參數的實現?

或者在這些情況下,我應該只參考一個參數列表(某些結構)並在每個實現中相應地處理該列表?

不,不行。 它打破了Liskovs Substituion Principle。

聽起來我的界面試圖做太多。 使用接口繼承或將接口拆分為多個接口。 請注意,擁有許多小型接口比使用大型接口更好。 類仍然可以實現所有這些。

接口,如類,應遵循SRP(單一責任原則)。 因為它們強制設計應用程序的其余部分,因此接口這樣做非常重要。

我也傾向於盡量避免從接口添加屬性。

在某些情況下沒問題。 只要它滿足接口承諾支持的合同,實際上對實現中的參數做什么並不重要。

但是你應該重新考慮一下你是否真的想要一些更具體的界面來處理那些需要這些參數的東西。 在您的抽象堆棧中,具有“較低”接口需要“更高”參數是封裝的中斷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM