Factory Method / Prototype Design Pattern

Discussion in 'C++' started by Pallav singh, Nov 18, 2008.

  1. Pallav singh

    Pallav singh Guest

    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
     
    Pallav singh, Nov 18, 2008
    #1
    1. Advertising

  2. Pallav singh

    Guest

    Re: Factory Method / Prototype Design Pattern

    On Nov 18, 8:29 am, Pallav singh <> wrote:
    > 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
     
    , Nov 18, 2008
    #2
    1. Advertising

  3. Re: Factory Method / Prototype Design Pattern

    On Nov 18, 1:29 pm, Pallav singh <> wrote:
    > 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.

    --
    Max
     
    Maxim Yegorushkin, Nov 18, 2008
    #3
  4. Pallav singh

    Pallav singh Guest

    Re: Factory Method / Prototype Design Pattern

    On Nov 18, 6:36 pm, Maxim Yegorushkin <>
    wrote:
    > On Nov 18, 1:29 pm, Pallav singh <> wrote:
    >
    > > 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.
    >
    > --
    > Max


    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
     
    Pallav singh, Nov 18, 2008
    #4
  5. Re: Factory Method / Prototype Design Pattern

    On Nov 18, 2:11 pm, Pallav singh <> wrote:
    > On Nov 18, 6:36 pm, Maxim Yegorushkin <>
    > wrote:
    >
    >
    >
    > > On Nov 18, 1:29 pm, Pallav singh <> wrote:

    >
    > > > 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.

    >
    > > --
    > > Max

    >
    > 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?

    --
    Max
     
    Maxim Yegorushkin, Nov 18, 2008
    #5
  6. Re: Factory Method / Prototype Design Pattern

    Pallav singh a écrit :
    > On Nov 18, 6:36 pm, Maxim Yegorushkin <>
    > wrote:
    >> On Nov 18, 1:29 pm, Pallav singh <> wrote:
    >>
    >>> 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.

    >
    > 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.


    --
    Michael
     
    Michael DOUBEZ, Nov 18, 2008
    #6
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Medi Montaseri
    Replies:
    17
    Views:
    905
    Medi Montaseri
    Sep 3, 2003
  2. sunny
    Replies:
    1
    Views:
    476
    Salt_Peter
    Dec 7, 2006
  3. C#
    Replies:
    4
    Views:
    427
  4. Pallav singh
    Replies:
    0
    Views:
    392
    Pallav singh
    Jan 22, 2012
  5. Pallav singh
    Replies:
    0
    Views:
    424
    Pallav singh
    Jan 22, 2012
Loading...

Share This Page