Search code examples
javaoopdesign-patternsprototype-pattern

Java implementations of the Prototype Pattern


What implementations of the Prototype Pattern exist on the Java platform?

A prototype pattern is a creational design pattern used in software development when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects.

Prototype based programming:

Prototype-based programming is a style of object-oriented programming in which classes are not present, and behavior reuse (known as inheritance in class-based languages) is performed via a process of cloning existing objects that serve as prototypes.

The implementation should be aware that some Java objects are mutable, and some are immutable (see Mutable vs Immutable objects).


Solution

  • According to Josh Bloch and Doug Lea, Cloneable is broken. In that case, you can use a copy constructor.