De hecho, es algo más que la sobrecarga de métodos (donde generalmente el mismo nombre de método tiene diferentes argumento tipos), este patrón específico - donde las sobrecargas son básicamente el mismo método, y el más corto invoca el más largo con valor predeterminado para emular parámetros opcionales: se denomina patrón telescópico/telescópico, generalmente se ve en los constructores, pero, por supuesto, se puede generalizar a cualquier método.
Para una cotización más autorizada, aquí es un extracto de eficaz de Java 2ª Edición, Tema 2: Considere un Builder cuando se enfrentan a muchos parámetros del constructor (excerpt online)
Tradicionalmente, los programadores han utilizado el constructor telescópico patrón, en el que se proporciona un constructor con solo los parámetros necesarios, otro con un solo parámetros opcionales, un tercero con dos parámetros opcionales, y así en ...
Nuevamente, por lo general, el patrón telescópico se discute dentro del contexto de los constructores (donde, por ejemplo, un constructor 2-arg tendría una línea this(arg1, arg2, ARG3_DEFAULT);
para invocar el constructor 3-arg, etc.), pero no veo por qué no se puede generalizar a otros métodos también.
Otra cita autorizada, por desgracia con ninguna definición del patrón: Sun Developer Network: How to Write Doc Comments for the Javadoc Tool:
Aviso los métodos y constructores están en orden "telescópica", que significa el "no arg" forma primero, entonces la forma "1 arg", luego la forma "2 arg", y así sucesivamente.
Y otra cita al azar, con una definición más explícita del patrón: I Am Hate Method Overloading (And So Can You!):
Métodos telescópicos
que puede tener una función que toma un número de argumentos . Los últimos argumentos pueden no ser tan importantes, y la mayoría de los usuarios se sentirían molestos al tener que descubrir qué transmitirles. De modo que crea algunos métodos más con el mismo nombre y menos argumentos, que atraviesan el método "maestro".
Esta última cita propone directamente que el soporte de idiomas para los argumentos predeterminados es una alternativa mucho mejor.
¿No ha dicho DoWork (name, phoneNumber, string.Empty)? – Andrey
sí Andrey, lo he editado ahora, gracias por señalarlo, y disculpe por cualquier confusión que esto pueda haber causado – GenEric35
Gracias a todos por las respuestas rápidas, esperaré en caso de que alguien tenga un nombre para esto, ya que lo he visto bastante a menudo y quiere ponerle un nombre. Aceptaré una respuesta antes del final del día, gracias. – GenEric35