title: Simplest way to encapsulate multiple method arguments?
body: <pre><code>+ (Planet *)createPlanetInContext:(NSManagedObjectContext *)context 
                           withName:(NSString *)name 
                               type:(NSString *)type 
                              group:(NSString *)group 
                        andDiameter:(NSNumber *)diameter {
  </code></pre>
  
  <p>If I wanted to encapsulate the arguments "name", "type", "group" and "diameter" into a single entity for passing to the above method what is the best type to use for encapsulation? The above method is just a quick example which you could argue is just fine as presented, but what if there were many more arguments that needed to be passed. I would need to package the data before calling the method so the solution needs to be something quick and simple to setup.</p>
  
  <pre><code>+ (Planet *)createPlanetWithData:(Data *)data inContext:(NSManagedObjectContext *)context {
  </code></pre>
  
  <p>Or is it more inline with objective-c practices (more readable) to individually list all the arguments?</p>