- When a client needs to create a set of objects that are alike or differ from each other only in terms of their state and it is expensive to create such objects in terms of the time and the processing involved.
- As an alternative to building numerous factories that mirror the classes to be instantiated (as in the Factory Method).
- Create one object upfront and designate it as a prototype object.
- Create other objects by simply making a copy of the prototype object and making required modifications.
- New Software Program Creation: Typically programmers tend to make a copy of an existing program with similar structure and modify it to create new programs.
- Cover Letters: When applying for positions at different organizations, an applicant may not create cover letters for each organization individually from scratch. Instead, the applicant would create one cover letter in the most appealing format, make a copy of it and personalize it for every organization.
Furthermore, the Prototype specifies the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype.