1 / 12

Prototype Pattern

Prototype Pattern. Yiqiang Song 2/2/09. Prototype Pattern. A creational pattern Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype. Problem. Prototype solution. Prototype Pattern UML. Participants: • Prototype

Download Presentation

Prototype Pattern

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prototype Pattern Yiqiang Song 2/2/09

  2. Prototype Pattern • A creational pattern • Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype

  3. Problem

  4. Prototype solution

  5. Prototype Pattern UML Participants: • Prototype o declares an interface for cloning itself. • ConcretePrototype o implements an operation for cloning itself. • Client o creates a new object by asking a prototype to clone itself.

  6. ExampleAnimal farm

  7. Prototype Pattern Example code

  8. Prototype Pattern Example code

  9. Prototype Pattern Example code

  10. Prototype Pattern When to Use • When product creation should be decoupled from system behavior • When to avoid subclasses of an object creator in the client application • When creating an instance of a class is time-consuming or complex in some way.

  11. Consequences of Prototype Pattern • Hides the concrete product classes from the client • Adding/removing of prototypes at run-time • Allows specifying new objects by varying values or structure • Reducing the need for sub-classing

  12. Drawbacks of Prototype Pattern • It is built on the method .clone(), which could be complicated sometimes in terms of shallow copy and deep copy. Moreover, classes that have circular references to other classes cannot really be cloned.

More Related