簡體   English   中英

為什么只為一個類使用 Java 接口?

[英]Why use a Java Interface for just one class?

我最近正在閱讀某人的代碼,他們創建了一個僅由一個類實現的接口。 在我看來,界面是不必要的。 創建僅由一個類實現的接口有哪些設計原因?

兩個原因:

  1. 測試。 在自動化測試期間,實現接口的類可以很容易地被存根、模擬、包裝器等替換。
  2. 未來擴展。 僅僅因為現在只有一個實現並不意味着沒有計划或想象更多。

他/她可能只是試圖定義其他類可以扮演的角色,特別是如果以后添加更多類。 假設您有一個 Pet 界面。 您可能有一個 Dog 和 RoboDog 類,它們都在稍后實現該接口,即使它們可能來自不同的繼承樹。

我同意,現在您不需要它,但將來如果您需要更改實現或想要添加新行為,則無法管理更改。

變化是IT行業的最大因素。 開發人員將更多時間花在維護而不是開發上。

您不想更改現有類的實現,因為它經過了過去多年的測試 如果你改變它,那么它也會對相關的類產生巨大的影響,你必須從一開始就測試你的完整應用程序。 它增加了回歸問題。

暫無
暫無

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

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