2009-08-27 73 views
2

由於在.Net誕生之前,GOF書籍就已經整合在一起了,GOF中描述的任何特定模式都不適合.Net嗎?如果是這樣,爲什麼?.Net模式與GOF的比較

這是一個有關最近的賞金discussion的問題。

+5

在Java發佈之前,GoF書就寫得很好。 GoF書於1994年10月首次發佈(哇 - 僅在15年前,它已經成爲經典),而Java於1995年首次發佈。 – 2009-08-27 20:09:00

回答

13

GoF書的想法並不是語言特定的,儘管他們提供了更好的解釋設計的樣本。

這個想法是提供一次又一次出現在軟件設計中的模式,以及任何開發人員可以根據需要用他們選擇的語言實現這些模式的烹飪書籍。就像其他人提到的那樣,當你看到.NET時,你會發現在框架中實現了一些作爲一等公民的設計模式。

因爲語言有沒有「沒有用」?不,這些模式將繼續有用,即使已經爲您實施了一些模式。

0

編號 即使是.NET(事件)中頭等公民的觀察者也有它最近使用的Rx框架顯示。

1

GoF模式通常適用於面向對象的語言,更具體地說,適用於強類型語言或具有更嚴格限制的語言。

3

C# 3.0 Design Patterns討論了.NET環境下的原始設計模式。它不如原書海事組織,但仍值得一讀。

2

那麼,有些使用有限,因爲它們已經在框架中實現。

例如,.NET中的集合已經支持開箱即用的迭代,所以在大多數情況下您不需要實現迭代器模式。另一個例子是可以用來代替自己實現觀察者模式的事件。