2011-03-30 48 views
6

我正在學習設計模式。今天我正在閱讀Prototype DP,發現它用於克隆對象。由於我們在.Net中有一個ICloneable接口,我們是否還需要原型DP?還是ICloneable實施原型DP?任何兩者之間的選擇指南?原型設計模式vs ICloneable

+1

不要實現ICloneable接口:http://blogs.msdn.com/b/brada/archive/2004/05/03/125427.aspx – 2011-03-30 06:48:52

回答

9

通過僅實現像ICloneable這樣的接口並不意味着您遵循了某種模式,這一切都取決於您嘗試實現的目的。如果你願意的話,這有點哲學性,但我只是想確定強調這一點。模式有力量和意圖,根據定義,這是解決常見問題的一般方法。

在這個特殊的例子,是的,實施正確接口可以帶你到模式的意圖,其實維基百科的文章使用ICloneable接口,其exameple用Java編寫的:http://en.wikipedia.org/wiki/Prototype_pattern。 當然,您可以使用另一種方法,使用您的另一個接口,而不是此模式使用接口的要求。

希望這有助於和歡迎的模式是世界:)

+0

>>非常感謝。 – kevin 2011-03-30 02:44:39

4

設計模式是不是在一個語言是固有的,但他們是一個普遍的問題的常見解決方案。它們是一個概念,可以用許多不同的方式和許多不同的語言來實現。

+0

實際上並非如此。設計模式是語言缺失功能的「柺杖」。所以用一種好的編程語言,你可以繼承一些或大部分模式。請參閱https://en.wikipedia.org/wiki/Software_design_pattern#Criticism – 2016-03-14 21:18:32