title: What Design Pattern is separating transform converters
body: <p>For converting a <strong>Java object model</strong> into <strong>XML</strong> I am using the following design:</p>
  
  <p>For <strong>different types</strong> of objects (e.g. primitive types, collections, null, etc.) I define each its own <strong>converter</strong>, which acts appropriate with respect to the given type. This way it can easily extended without adding code to a huge if-else-then construct.</p>
  
  <p>The converters are chosen by a method which tests whether the object is <strong>convertable</strong> at all and by using a priority ordering. The priority ordering is important so let's say a <code>List</code> is not converted by the POJO converter, even though it is convertable as such it would be more appropriate to use the collection converter.</p>
  
  <p><strong>What design pattern is that?</strong></p>
  
  <p>I can only think of a similarity to the command pattern.</p>