I understand what you are getting at. In the case of a class that is only used internally in an application there is, IMO, very little difference between the 2 methods (por/con wise).If the class is intended for use in mulitple applications having the factory seperate would be a good idea incase you need to create the object differently you could just have a different factory for the different applications without changing the class.Wow, I hope I wasn't confusing either. I haven't written many classes to be used by multiple applications or to be distributed as a component so I haven't researched the topic much or had to even worry about it.