Lecture 8 - Prototype Design Pattern
Lecture 8 - Prototype Design Pattern
Outline ●
●
Usage of prototype pattern
Where it can be implemented
● Real life problem and its
necessary
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
o declares an
interface for cloning
itself.
•
ConcretePrototyp
e o implements an
operation for cloning
itself.
• Client
o creates a new
object by asking a
Exampl
e
Animal farm
Prototype Pattern Example code
Prototype Pattern Example code
Prototype Pattern Example code
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.
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
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.
Thank You