Является ли использование Clone () плохой практикой программирования при работе с сильно загруженными объектами? - PullRequest
1 голос
/ 25 марта 2010

У нас есть класс, который больше похож на шаблон (с большим количеством свойств и переопределенных методов). Мне нужно сделать много объектов этого типа класса. Могу ли я использовать clone () для создания объектов с конкретными настройками, если у меня есть один созданный объект? Я знаю, что мне нужно переопределить метод клонирования. Производительность получит удар с помощью Clone ()?

Ответы [ 2 ]

0 голосов
/ 25 марта 2010

Клонирование само по себе не является плохой практикой, обычно оно мелкое. Но я думаю, что вы хотите использовать шаблон. Более чем вероятно Шаблон прототипа - ваше решение.

Клон, который вы делаете, на самом деле является копией печенья вашего прототипа.

Ссылка, которую я послал, с фабрики DO и содержит примеры кода для вас.

0 голосов
/ 25 марта 2010

Клонирование объекта как способ создания новых объектов не обязательно является самым чистым методом создания объектов. Лучше использовать конструкторы или фабричные методы (которые вызывают конструкторы).

Возможно, вам будет интересно использовать фабричный или шаблон сборки. Или, если вас беспокоит нехватка памяти большого количества похожих объектов, взгляните на шаблон flyweight .

...