title: Builder pattern VS my implementation
body: <p>I had to build a logging dll assembly that will use a large amount of optional parameters, around 20 of them. It was written in c#.</p>
  
  <p>What I end up doing was let my logging class to accept an object of type "log". This "log" class contains all the needed parameters and the corresponding properties to Get/Set them.
  All of the parameters were of course initiated with default values first.</p>
  
  <p>Once passing the "log" object to my main logging class, it then extract the values from that "log" object and perform the printing to file.</p>
  
  <p>My question is - should I change it now to the builder pattern? (I just now learn it in - "Effective Java 2nd edition" book).</p>
  
  <p>I can see the advantages of this pattern against calling Ctr/Methods with a billion parameters but I also think that passing in a new object that contains all parameters is not bad.</p>
  
  <p><strong>Can you explain if I really should change my design and why?</strong></p>
  
  <p>Since this is a design question I did not provide any code input. If I need to post some code let me know.</p>