title: Constructor vs. Factory in .NET Framework
body: <p>Below is an article about .net framework's use of patterns. I'm not sure I understand the bolded part in the excerpt below.  Is it implying if you change the details of creating the object, you (might) change the constructor arguments?</p>
  
  <blockquote>
    <p>There are many cases in the Framework where you
    can obtain a new instance of a struct or class
    without calling its constructor yourself. The
    System.Convert class contains a host of static
    methods that work like this. To convert an integer
    to a Boolean, for example, you can call
    Convert.ToBoolean and pass in the integer. The
    return value of this method call is a new Boolean
    set to "true" if the integer was non-zero and
    "false" otherwise. The Convert class creates the
    Boolean for you with the correct value. Other type
    conversion methods work similarly. The Parse
    methods on Int32 and Double return new instances
    of those objects set to the appropriate value
    given only a string.</p>
    
    <p>This strategy for creating new object instances is
    known as a Factory pattern. Rather than invoking
    the object's constructor, you can ask the object
    factory to create the instance for you. That way,
    the factory class can hide the complexity of
    object creation (like how to parse a Double out of
    a string). If you wanted to change the details of
    creating the object, you'd only have to change the
    factory itself; <strong>you would not have to change every
    single place in the code where the constructor is
    called.</strong></p>
  </blockquote>
  
  <p>From: <a href="http://msdn.microsoft.com/en-us/magazine/cc188707.aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/magazine/cc188707.aspx</a>.</p>