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

Прототип означает создание клона. Это подразумевает клонирование объекта для предотвращения его создания. Если цена создания нового объекта высока или требует выделения множества ресурсов, тогда следует клонировать объект. Мы используем интерфейс Cloneable и вызываем его метод clone() для клонирования объекта.
Попробуем понять этот шаблон на жизненном примере.
Возьмем растительную клетку. Данный пример немного отличается от реального клонирования, что подразумевает клонирование как создание копии оригинала. Мы делим клетку на две и делаем две копии, в то время как оригинал уже не существует. Рассмотрим митоз - деление растительных клеток.
Возьмем класс PlantCell с методом split(). Растительная клетка реализует интерфейс Cloneable.
PlantCell.java
Теперь посмотрим, как работает метод split(). Создадим другой класс CellDivision и вызовем этот метод.
CellDivision.java:
Материалы, которые могут вас заинтересовать
- Шаблон "Строитель" (Builder)
- Шаблон "Одиночка" (Singleton)
- Шаблон "Абстрактная фабрика" (Abstract Factory Pattern)
- Шаблон "Фабрика" (Factory)
- Шаблон "Команда" (Command)
- Шаблон "Цепочка ответственности" (Chain of Responsibility)
- Шаблон "Заместитель" (Proxy)
- Шаблон "Приспособленец" (Flyweight)
- Шаблон "Фасад" (Facade)







Статья мне не понравилась - ничего не объясняет и ничему не учит.
Еще: если PlantCell реализует интерфейс Cloneable, то где тогда реализация метода Сlone() ???
Отправить комментарий