2010-04-29 49 views
2

我想對此發表看法。用方法依賴重構C#派生類

我有一個派生自基類的類。我無法控制基類中的代碼,它對我從中派生出來的系統至關重要。

在我的課程中,我繼承了兩個對系統至關重要的方法,幾乎​​每一個函數都使用了很多次。

我打算重構這個派生類,並從中提取一些類 - 這不會是一個問題。我不確定的是,如果我必須不斷地回調我的主類以訪問這兩種方法(或方法的公共包裝),是否值得提取類?

感謝

+0

你有代碼示例嗎? – PHeiberg 2010-04-29 20:15:39

+0

那麼它不是一個真正的重構我的代碼的問題 - 它更多的是當我這樣做時 - 每個類都需要調用回主類。我現在正在用我的事件處理程序來做這件事 - 但在這種情況下它是有意義的。然而,從字面上看,我創建的任何有用的類都需要調用回主類 – 2010-04-29 20:38:38

+0

我沒有看到任何問題 - 您是否擔心主類的依賴性?除非使用Proxy或Mediator模式,否則這將不會因提取的類而改變。 – 2010-04-30 10:33:04

回答

2

不知道你的情況,但重構是爲了您的利益和其他人。您必須權衡代碼保持的重構成本。方法提取(而不是複製和放置)的要點在於它集中了它並使部署更改變得更加容易。所以,如果你在任何地方都有代碼,這可能是值得的。

1

基於您對依賴性的關注,聽起來您可能不得不讓「主要類」繼續成爲現在的「前門」 - 即所有人呼叫的類。讓主類委託給提取的類,而不是相反。沒有更多的細節,這就是我所能想到的。