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.
Da die meisten User etwas schreibfaul sind wird wohl eher sowas gemacht:
Wenn ich jetzt die addFoo(Foo f) Variante nehme, ist es etwas verständlicher:
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?
Java:
Blog blog = new Blog();
BlogEntry welcomeEntry = new BlogEntry("Welcome to my Blog");
blog.add(welcomeEntry);
Java:
Blog b = new Blog();
BlogEntry e = new BlogEntry("Welcome to my Blog");
b.add(e);
Java:
Blog b = new Blog();
BlogEntry e = new BlogEntry("Welcome to my Blog");
b.addEntry(e);