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?
 

The_S

Top Contributor
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).
 

Neue Themen


Oben