+Suppose an output component keeps gaining conditionals, one for each new format. If you split the conversion rules into separate functions or objects and pass them in, you can change the format while the output code stays as it is; that arrangement is what we call the Strategy pattern.