2009-07-29 36 views
0

您可以在.NET開發中分享最常用的(或最喜歡的)軟件設計模式嗎?爲什麼?.NET中有用的軟件設計模式

請耐心等待我這樣一個普通的問題。我沒有嘗試專門解決任何問題。只是想知道更經常使用哪些模式來幫助解決我們每天面臨的問題。

感謝您分享您的兩分錢。

回答

11

有一種說法我曾經聽到:

「以獲得新的錘麻煩的是,一切都開始看起來像釘子」

這個問題似乎問的解決方案,幾乎不關心這些問題實際上是什麼。人們常常採用最喜歡的模式,不管他們是否是最好的工具,他們都會使用它們。

如果你想開始設計模式,我建議閱讀關於這個主題的書籍之一,比如經典的四人幫書"Design Patterns" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides,ISBN-13 978-0201633610或者更多的C#風格,試試"C# 3.0 Design Patterns" by Judith Bishop,ISBN-13 978-0596527730。

1
  • 複合圖案

每個對象具有1個父母可以具有n個孩子。

  • 的Controler圖案

在你已經CLASSE(數據類)一側表示數據,以及包含數據類(ControlerClass)的一個列表中的其他1個CLASSE。只有這個ControlerClass實例化/修改/刪除DataClass的任何對象。

  • Singleton模式

異體一個類實例化只有1個對象,通過設計構造函數爲私有,並設計了一個靜態的getter是返回一個新的對象,或現有對象

使用了許多模式,但這些模式非常常見。

+0

嗯,我被建議儘可能遠離單例模式,因爲它看起來像是一個巨大的全局變量......當你考慮它時,它是什麼。很顯然,在某些情況下,這是需要的,但需要小心。 – Ian 2009-07-29 08:02:41

+1

對於單身人士,只有一個正確的實施方式:將班級的生命週期配置爲容器中的單身人士:) – 2009-07-29 08:06:48

2

那麼,如果你包括在建的,它就得在迭代器(枚舉)和觀察員(活動):)

0

除了明顯的迭代器和觀察,我會說:

  • 策略