Constructing a complex object

Discussion in 'Java' started by KiteRunner16@gmail.com, Oct 19, 2007.

  1. Guest

    I tried comp.object first but had no luck so thought I would try here
    (this group seems much more active):

    I have a question regarding a design issue in my application and was
    hoping to get some advice. I'm developing a reporting application
    that makes a call to a 3rd party API to retrieve the results to be
    displayed in each report. The API method that returns the results
    takes one parameter object but it is a fairly complex object that
    exposes several other objects as properties (some of which expose
    their own object properties). The way this object is constructed and
    configured determines the type of results that are returned. Each
    report will configure the parameter object slightly differently,
    though parts of the configuration will be common to all reports.

    My question is, how would you approach the construction/configuration
    of this parameter object for each report? I was thinking of creating
    a class that exposes various properties and a build method. The code
    that uses this class would set the appropriate properties and call the
    build method which would construct and return an appropriate parameter
    object. The problem I have is that this class seems to have too many
    properties and for some reason doesn't quite seem right.

    I've looked into the form template method and builder patterns but am
    not sure how to apply them here or if they would even be appropriate.
    Do you think they apply here or is there some other approach I should
    consider?

    Thanks in advance for your help.

    K
    , Oct 19, 2007
    #1
    1. Advertising

  2. Daniel Pitts Guest

    On Oct 19, 2:41 pm, wrote:
    > I tried comp.object first but had no luck so thought I would try here
    > (this group seems much more active):
    >
    > I have a question regarding a design issue in my application and was
    > hoping to get some advice. I'm developing a reporting application
    > that makes a call to a 3rd party API to retrieve the results to be
    > displayed in each report. The API method that returns the results
    > takes one parameter object but it is a fairly complex object that
    > exposes several other objects as properties (some of which expose
    > their own object properties). The way this object is constructed and
    > configured determines the type of results that are returned. Each
    > report will configure the parameter object slightly differently,
    > though parts of the configuration will be common to all reports.
    >
    > My question is, how would you approach the construction/configuration
    > of this parameter object for each report? I was thinking of creating
    > a class that exposes various properties and a build method. The code
    > that uses this class would set the appropriate properties and call the
    > build method which would construct and return an appropriate parameter
    > object. The problem I have is that this class seems to have too many
    > properties and for some reason doesn't quite seem right.
    >
    > I've looked into the form template method and builder patterns but am
    > not sure how to apply them here or if they would even be appropriate.
    > Do you think they apply here or is there some other approach I should
    > consider?
    >
    > Thanks in advance for your help.
    >
    > K


    It sounds like the objects you pass in might follow the builder
    pattern already. If you can set/reset the properties on those, then
    perhaps what you really want is some factory method that produces the
    object with the "common" configuration, and then have something else
    configure the specifics. Of course, this API that you're forced to
    work with might have been designed poorly, and you might be well off
    to create an abstraction between this API and your application.
    Sometimes for prototypes, this isn't worth it, but once you get into a
    larger production code base, the abstraction can be invaluable.

    Hope this helps,
    Daniel.

    --
    Daniel Pitts' Tech Blog: <http://virtualinfinity.net/wordpress/>
    Daniel Pitts, Oct 21, 2007
    #2
    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. Mike Wahler
    Replies:
    3
    Views:
    408
    Gavin Deane
    Aug 1, 2003
  2. Replies:
    1
    Views:
    325
    Simon
    Jul 24, 2006
  3. Marco Wedekind
    Replies:
    11
    Views:
    5,780
    Marco Wedekind
    Apr 26, 2006
  4. Michael Preminger
    Replies:
    5
    Views:
    390
    Roedy Green
    Mar 18, 2010
  5. Replies:
    0
    Views:
    109
Loading...

Share This Page