user not logged
← Previous page Next page →

Шаблон "Прототип"

Design Patterns
Author:Анатолий Тутов Timestamp:27 / 10 / 2006 @ 18:35:00
Tags: creational patterns, object-oriented design, programming

Прототип (The Prototype pattern)
Этот шаблон используется, когда создание экземпляра класса почему-либо очень сложно или требует много времени. Тогда вместо создания новых экземпляров проще сделать копии одного экземпляра и модифицировать их соответствующим образом.

Использование этого шаблона в Java значительно упрощено существованием метода clone(), который создает копию объекта того же типа, что и оригинал.

Выводы:


  1. Реализация этого шаблона позволяет создавать и удалять объекты «на лету»,копируя исходный и актуализируя внутренние данные объекта-копии.
  2. Для модификации прототипа после копирования необходимо иметь соответствующие методы доступа к данным.
  3. Сложность при работе с прототипом может заключаться в том, что исходный класс может быть уже написан и не имеет метода clone() или deepClone(). Метод deepClone() требует от всех членов класса, которые являются объектами реализации интерфейса serializable(). Также проблематично клонирование объектов содержащих перекрестные(взаимные) ссылки.
  4. Для упрощения поисков объекта для копирования, можно создать класс-реестр таких объектов. Первые экземпляры прототипов создаются вместе с реестром. Необходимо учесть, что это будет ресурсоемкая операция.

Add new comment

Your name:
*Email:
Homepage:
Subject:
*Comment:
 
* denotes required field
← Previous page Next page →

Where am I?

This is an individual post page where its content and comments are located.

Powered by: Motoko Blog System 0.9.5 beta | Used theme: Proximity One
Page generation time: 0.17 s | SQL requests number: 7 | Timestamp: 05:10:34, 23-02-2012
May the force be with you