Factory Method / Prototype Design Pattern

P

Pallav singh

Hi ,

when should i select Factory Method / Prototype Design Pattern
during my design phase ??
as both look similar to me

Thanks in Advance

Thanks
Pallav
 
Y

yuvalif

Hi ,

when should i select   Factory Method / Prototype  Design Pattern
during my design phase ??
as both look similar to me

Thanks in Advance

Thanks
Pallav

IMHO, you should find a pattern for a problem and not a problem to a
pattern
 
M

Maxim Yegorushkin

Hi ,

when should i select   Factory Method / Prototype  Design Pattern
during my design phase ??
as both look similar to me

Factory Method creates a new object. Normally, it invokes a (non-copy)
constructor of a concrete implementation class.

Prototype create a new object as a copy of the prototype object. It is
often implemented as clone() member function that invokes the copy
constructor of a concrete implementation class.

You use Factory Method when you want new objects, prototype when you
want copies of existing objects.
 
P

Pallav singh

Factory Method creates a new object. Normally, it invokes a (non-copy)
constructor of a concrete implementation class.

Prototype create a new object as a copy of the prototype object. It is
often implemented as clone() member function that invokes the copy
constructor of a concrete implementation class.

You use Factory Method when you want new objects, prototype when you
want copies of existing objects.

Hi

i could not make any diffrence from implementation provided by Huston
Design pattern
http://www.vincehuston.org/dp/

from Gang of Four i got Idea to use under Certain Condition

1. Factory
A class hierarchy of factories that parallels the class hierarchy
of products
Parallel class hierarchies result when a class delegates some of
its responsibilities
to a separate class.

2. Prototype

when instances of a class can have one of only a few different
combinations
of state. It may be more convenient to install a corresponding
number of
prototypes and clone them rather than instantiating the class
manually,
each time with the appropriate state.

Does it mean that i should we protoype when i have to make object
at Run Time
depending upon different combinations of state ???

Thanks
Pallav
 
M

Maxim Yegorushkin

Hi

i could not make any diffrence from implementation provided by Huston
Design patternhttp://www.vincehuston.org/dp/

from Gang of Four i got Idea to use under Certain Condition

1. Factory
   A class hierarchy of factories that parallels the class hierarchy
of products
   Parallel class hierarchies result when a class delegates some of
its responsibilities
   to a separate class.

In the original question you mentioned Factory Method design pattern.
Now you are quoting Factory. Huh?
2. Prototype

   when instances of a class can have one of only a few different
combinations
   of state. It may be more convenient to install a corresponding
number of
   prototypes and clone them rather than instantiating the class
manually,
   each time with the appropriate state.

   Does it mean that i should we protoype when i have to make object
at Run Time
   depending upon different combinations  of state ???

It depends on the problem at hand. Do you have a concrete problem in
mind?
 
M

Michael DOUBEZ

Pallav singh a écrit :
i could not make any diffrence from implementation provided by Huston
Design pattern
http://www.vincehuston.org/dp/


At the end of the page you provided, the "Rules of thumb" section gives
hints about the forces involved.
from Gang of Four i got Idea to use under Certain Condition[snip]

Does it mean that i should we protoype when i have to make object
at Run Time
depending upon different combinations of state ???

No. Prototype is especially useful when the objects requires some
initialization of state or when the clones share a common data.

IMHO the best is to start with a simple factory function and refactor if
needed. If you really think you may need an abstract factory or a
prototype system, you may use a policy-based design as presented by
Alexandrescu but it does add complexity.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,744
Latest member
CortneyMcK

Latest Threads

Top