OOP addFoo(Foo f) oder add(Foo f) ?

puritania

Mitglied
API Design Zwickmühle: add(Foo f) scheint auf den ersten Blick weniger redundant und einfacher zu wirken. Schauen wir uns mal die Client-Seite an. Als Beispiel sei hier ein Blog genannt.
Java:
Blog blog = new Blog();
BlogEntry welcomeEntry = new BlogEntry("Welcome to my Blog");
blog.add(welcomeEntry);
Da die meisten User etwas schreibfaul sind wird wohl eher sowas gemacht:
Java:
Blog b = new Blog();
BlogEntry e = new BlogEntry("Welcome to my Blog");
b.add(e);
Wenn ich jetzt die addFoo(Foo f) Variante nehme, ist es etwas verständlicher:
Java:
Blog b = new Blog();
BlogEntry e = new BlogEntry("Welcome to my Blog");
b.addEntry(e);
Hinzukommt, dass es Situationen gibt, wo Overloading hinzukommt, da können die add(Foo f) Methoden recht unübersichtlich werden in der Anwendung. Welche Variante bevorzugt ihr und warum?
 
Kontextabhängig. Wenn eine Klasse ohnehin nur ein, oder ein eindeutig primäres Attribut hat (bspw. eine Liste), dann verwende ich add(xy). Ansonsten addFoo(xy).
 

Zurück
Oben