Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich bin nun aus beruflichen Gründen zu Java umgestiegen. Mein eigentlicher Background ist eher in Skriptsprachen wie php, ruby, python und daher habe ich ein paar Fragen welche ich mir bei Java-Code ständig stelle.
Immer wenn ich mir Java code ansehe finde ich nen haufen proxy-methoden aufrufe.. also das ein methodenaufruf durch mehrere klassen durchgereicht wird ohne irgendwas an funktionalität hinzuzufügen... wann macht sowas sinn und wieso macht man das?
Eine andere Frage ist ich sehe oft sachen wie InterfaceName und dann noch eine InterfaceNameImp. Was interfaces sind und wozu die gut sind verstehe ich, denke ich... eben wenn man eine Gewisse API von unterschiedlichen Klassen verlangen möchte, damit man diese dann z.B. einfacher in Collections packen kann... aber oft sehe ich eben dieses Pattern (meist in zusammenhang mit Factories) und dann gibt es aber nur eine konkrete Implementierung.. wieso macht man dann noch das Interface dazu... oder anderst gefragt wenn sollte man Interfaces einsetzen?
Gibt es irgendwelche resourcen wo ich eben solche Sachen, die mir recht Java Code-Style spezifisch scheinen, nachlesen kann?
Immer wenn ich mir Java code ansehe finde ich nen haufen proxy-methoden aufrufe.. also das ein methodenaufruf durch mehrere klassen durchgereicht wird ohne irgendwas an funktionalität hinzuzufügen... wann macht sowas sinn und wieso macht man das?
Ist dann oft gewachsene API und sollte man sich nicht als Beispiel nehmen. Aus einer Notwendigkeit geboren zu der man ohne konkreten Fall nichts sagen kann.
Eine andere Frage ist ich sehe oft sachen wie InterfaceName und dann noch eine InterfaceNameImp. Was interfaces sind und wozu die gut sind verstehe ich, denke ich... eben wenn man eine Gewisse API von unterschiedlichen Klassen verlangen möchte, damit man diese dann z.B. einfacher in Collections packen kann... aber oft sehe ich eben dieses Pattern (meist in zusammenhang mit Factories) und dann gibt es aber nur eine konkrete Implementierung.. wieso macht man dann noch das Interface dazu... oder anderst gefragt wenn sollte man Interfaces einsetzen?
Interfaces sollte man oft verwenden. Alles was API ist, also öffentlich zugänglich und aus anderen Modulen aufgerufen wird, sollte IMO hinter Interfaces gekapselt liegen.
Das Interface ist der Vertrag, was man mit deinem Modul anstellen kann. Die eigentliche Implementierung ist dafür irrelevant. Das Interface gibt dir die Freiheit eine Implementierung gegen eine völlig andere auszutauschen, ohne das andere Module davon betroffen sind.
Der Trend ist derzeit IoC und Dependency Injection, da sieht man das sehr schön.
Der Consumer einer API lässt sich diverse Objekte anhand von Interfaces injezieren ohne jemals mit der Implementierung in Berührung zu kommen.
Willst du die Implementierung austauschen, muss nur das Binding für die Dependency Injection geändert werden.