So viele tolle Antworten hier. Ich möchte meine zwei Cent hinzufügen.
Parameterobjekt ist ein guter Anfang. Aber es könnte noch mehr getan werden. Betrachten Sie Folgendes (Rubinbeispiele):
/ 1 / Anstatt einfach alle Parameter zu gruppieren, prüfen Sie, ob eine sinnvolle Gruppierung von Parametern möglich ist. Möglicherweise benötigen Sie mehr als ein Parameterobjekt.
def display_line(startPoint, endPoint, option1, option2)
könnte werden
def display_line(line, display_options)
/ 2 / Das Parameterobjekt hat möglicherweise eine geringere Anzahl von Eigenschaften als die ursprüngliche Anzahl von Parametern.
def double_click?(cursor_location1, control1, cursor_location2, control2)
könnte werden
def double_click?(first_click_info, second_click_info)
# MouseClickInfo being the parameter object type
# having cursor_location and control_at_click as properties
Mithilfe solcher Verwendungen können Sie Möglichkeiten entdecken, diesen Parameterobjekten ein aussagekräftiges Verhalten hinzuzufügen. Sie werden feststellen, dass sie ihren anfänglichen Datenklassengeruch früher zu Ihrem Komfort abschütteln . : -)