language-icon Old Web
English
Sign In

Prototype pattern

The prototype pattern is a creational design pattern in software development. It is used when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects. This pattern is used to: The prototype pattern is a creational design pattern in software development. It is used when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects. This pattern is used to: To implement the pattern, declare an abstract base class that specifies a pure virtual clone() method. Any class that needs a 'polymorphic constructor' capability derives itself from the abstract base class, and implements the clone() operation. The client, instead of writing code that invokes the 'new' operator on a hard-coded class name, calls the clone() method on the prototype, calls a factory method with a parameter designating the particular concrete derived class desired, or invokes the clone() method through some mechanism provided by another design pattern. The mitotic division of a cell — resulting in two identical cells — is an example of a prototype that plays an active role in copying itself and thus, demonstrates the Prototype pattern. When a cell splits, two cells of identical genotype result. In other words, the cell clones itself. The Prototypedesign pattern is one of the twenty-three well-known GoF design patterns that describe how to solve recurring design problems to design flexible and reusable object-oriented software, that is, objects that are easier to implement, change, test, and reuse. The Prototype design pattern solves problems like:

[ "Algorithm", "Artificial neural network", "Machine learning", "Pattern recognition", "Software engineering" ]
Parent Topic
Child Topic
    No Parent Topic