Шаблон дизайна прототипа против ICloneable - PullRequest
6 голосов
/ 30 марта 2011

Я изучаю шаблоны проектирования.Сегодня я читаю о Prototype DP и обнаружил, что он используется для клонирования объекта.Поскольку у нас есть ICloneable интерфейс в .Net, нам все еще нужен Prototype DP?Или ICloneable реализует Prototype DP?Какие-либо рекомендации по выбору между двумя?

Ответы [ 2 ]

9 голосов
/ 30 марта 2011

Реализация только такого интерфейса, как ICloneable, не означает, что вы следуете шаблону, все зависит от цели, которой вы пытаетесь достичь.Это несколько философски, если хотите, но я просто хочу подчеркнуть это.У шаблонов есть силы и намерения, и по определению это общее решение для общей проблемы.

В этом конкретном примере да, реализация правильно интерфейса может привести вас к цели шаблонана самом деле статья в википедии использует интерфейс ICloneable для своего примера, написанного на Java: http://en.wikipedia.org/wiki/Prototype_pattern. Конечно, вы можете использовать другой подход, используя другой ваш интерфейс, для шаблона не требуется ICloneable интерфейс.

Надеюсь, это поможет и добро пожаловать в мир шаблонов:)

4 голосов
/ 30 марта 2011

Шаблоны проектирования - это не то, что присуще языку, а общее решение общей проблемы.Они представляют собой концепцию и могут быть реализованы различными способами и на разных языках.

...