En ese caso, la aplicación necesitará crear nuevos objetos a partir de modelos.
El único requisito que debe cumplir este objeto es suministrar la funcionalidad de clonarse.
Estos objetos gráficos pertenecerán a una jerarquía cuyas clases derivadas implementarán el mecanismo de clonación.
Aplicar el patrón prototipo permite ocultar las clases producto (prototipos concretos) del cliente y permite que el cliente trabaje con estas clases dependientes de la aplicación sin cambios.
En Java existe la interfaz cloneable y del Object Clone() throws CloneNotSupportedException para llevar a cabo la implementación del prototipo de manera compatible con los prototipos ya existentes en las librerías Java.
En este ejemplo se tiene una clase abstracta PrototipoLibro, con dos subclases concretas: PrototipoLibroPHP y PrototipoLibroSQL.