2014-04-10 93 views
1

我期待在模塊A,其執行任務是否有可能爲模塊共享代碼

  1. 我還期待着在另一模塊(模塊B),其執行任務
  2. 任務甲& B是對所有目的和目的類似,但一個 小的差異。

如果它們是類,我會傾向於重新考慮它們,使得通用代碼最終在由模塊A和B繼承的基類中(這當然是類,因爲你不能繼承模塊)。

然而保持模塊&乙作爲模塊恰好是在該特定情況下優選所以是有一個乾淨的方式具有執行作爲基類相同的角色或做一簡單地具有接受,在此第三模塊實例中必須存在代碼重複元素。

我正在考慮在第三個模塊的朋友聲明中使用在其中聲明爲常見方法的常用方法,但是我想知道我是否忽略了某些顯而易見的內容。

+0

爲什麼在這種情況下最好保留模塊。即使他們不是所見過的最好設計的人,將他們轉化爲課程通常也不是那麼努力。 –

+0

模塊沒有繼承,但是,因爲模塊與具有所有'Shared'成員的類基本相同,所以應該可以毫不費力地將它轉換爲類的'Shared'方法。 –

+0

Tony將模塊轉換爲類會涉及必須在其他地方使用它們的構造函數。重構它們以使得具有可共享的代碼的通用模塊似乎在這個階段是更可取的,並且不太可能在其他地方添加潛在的錯誤。我從頭開始的地方就是課程。 –

回答

1

不,你沒有忽視一些明顯的東西,我不認爲。您應該始終嘗試關注the DRY principal (Do Not Repeat Yourself);在這種情況下,重構它,以便公共代碼只在一個單獨的模塊中存在一次,並且只有兩個原始模塊之間不同的代碼留在這兩個模塊中。

相關問題