2009-01-07 25 views

回答

10

如果你想要其他類來實現這個接口,這可能是一個好主意,如果只是爲了清潔。任何看着你的界面的人都不應該每次都看看你的實現。

3

如果只有一個實現:爲什麼接口?

如果有多個實現:你把其他的實現放在哪裏?

+0

爲什麼界面?爲了可測性。嘲笑岩石:) – 2009-01-07 14:57:04

+0

同意,即使只有一個具體的類,它應該接口。不過,我會使用一個單獨的文件。 – ctacke 2009-01-07 14:57:49

1

如果通過不同的文件,你的意思是在你的程序集中不同的xxx.cs文件,那麼通常由於我自己的做法,我會說是 - 但這是你使用的家庭標準。如果你只是爲自己編程,那麼我會說這是很好的編程練習,它使一切都變得乾淨和容易閱讀。任何給定文件中的代碼塊越小,就越容易遵循(在合理的範圍內),顯然你可以開始進入部分類,如果不保持統治的話,事情會變得荒謬起來。

通常,我將項目保留在邏輯文件夾結構中,其中部分項目可能分配到DAL或BM文件夾中,並且在那裏我可能有許多邏輯上命名的文件夾,每個文件夾都包含多個文件:一個接口,一個實現和特定於這些的任何助手類。

然而,如果你在一個開發團隊中工作,那麼應該採用你的團隊/內部最佳實踐。

0

單獨的文件... FTW!您甚至可能希望根據代碼的可擴展性創建單獨的項目/程序集。至少它應該可能位於單獨的名稱空間中。

接口的要點是,使用接口的代碼不關心實現。因此,它們應該儘可能鬆散地關聯,如果它們在同一個文件中,它們將不會是。

但是@balabaster指出,這取決於你的團隊的做法(雖然他們並不總是「最佳實踐」)。

0

一般的經驗法則,是的。一個接口意味着它可以被其他類實現,當它們清楚地處於單獨的文件中時,它更清晰和更容易管理。更重要的是,根據您的應用程序的分離和隔離級別,您甚至希望將您的接口放置在自己的項目中。然後,消費項目將引用接口項目,而不是每個裝配該接口實現的程序集。

0

是的,即使有人提出反對的論點,例如只有一個實現,或者他/她預見長時間只有一個實現,或者他/她是唯一的用戶/開發人員等。多個實現,多個用戶等,那麼很明顯你會想將它們保存在單獨的文件中。那麼爲什麼只有在一種實現方式下才能對待它呢?