Tantas grandes respuestas aquí. Me gustaría agregar mis dos centavos.
El objeto de parámetro es un buen comienzo. Pero aún se puede hacer más. Considere lo siguiente (ejemplos de ruby):
/ 1 / En lugar de simplemente agrupar todos los parámetros, vea si puede haber una agrupación significativa de parámetros. Es posible que necesite más de un objeto de parámetro.
def display_line(startPoint, endPoint, option1, option2)
podría convertirse
def display_line(line, display_options)
/ 2 / El objeto de parámetro puede tener un número menor de propiedades que el número original de parámetros.
def double_click?(cursor_location1, control1, cursor_location2, control2)
podría convertirse
def double_click?(first_click_info, second_click_info)
# MouseClickInfo being the parameter object type
# having cursor_location and control_at_click as properties
Dichos usos le ayudarán a descubrir posibilidades de agregar un comportamiento significativo a estos objetos de parámetros. Descubrirá que se deshacen de su olor inicial de clase de datos antes para su comodidad. : -)