Java 2 mal der selbe Code in verschiedenen Activitys?
Hey, ich habe vor ein paar Monaten mit dem Programmieren angefangen und habe mich ein bisschen mit Android Studio /Java und Android apps versucht. Ich bin jetzt an einer Stelle angekommen, da habe ich 1:1 den selben Code, nur in verschiedenen Activitys. Wie geht man jetzt damit am besten um, damit man den Code nicht doppelt in beide Activitys schreiben muss?
Soll ich den Code nur in der ersten Activity schreiben, dann die Methode public machen und die dann über ein neu erzeugtes Objekt dieser Klasse in meiner anderen Activity aufrufen?
Oder sollte man in so einem Fall eine komplett neue Klasse erstellen, die diesen Code besitzt und dann diesen Code in beiden Activitys aufrufen?
Welche vorgehensweise nimmt man meist in solch einem Fall?
1 Antwort
Das Thema hat prinzipiell nichts mit Android Studio oder Java zu tun, sondern ganz allgemein Software-Architekturen. Ich persönlich habe solche Situationen nur noch sehr selten und die sind dann so allgemein (z.B. Handling von MultiThreading-Scenarien), dass man sie wunderbar als eigenständige Klasse/Assembly auslagern kann und in mehreren Projekten nutzen kann.
Welche vorgehensweise nimmt man meist in solch einem Fall?
Es gibt zig verschiedene Wege, das zu lösen.
Die vermutlich einfachste und verbreitetste Vorgehensweise ist die Mehrschichten-Architektur - meist 3 Schichten. Die Activity ist dann die UI-Schicht, darunter die Business-Schicht und darunter wiederum die Daten-Schicht.
Alles, was tatsächliche Business-Logik ist, gehört in die Business-Schicht und darf auf keinen Fall in irgendeiner Weise von darüber liegenden Schichten abhängig sein. Gleiches gilt für die Daten-Schicht.
Wie die Business-Schicht aufgebaut ist, ist unterschiedlich. Bei einem aktuellen Projekt von mir habe ich ein Service-Prinzip, also jeder Teilbereich bekommt einen (oder mehrere) Service(s) und nutzt die Methoden daraus. Es gibt aber auch komplexere Prinzipien (z.B. CQRS) die deutlich komplexer sind, aber auch viele Vorteile (und natürlich auch Nachteile) bieten.
|
Oder Du lagerst es einfach nur in eine Klasse aus und rufst die auf. Viele machen das so, in gewissen Rahmen reicht das auch aus, aber es kann genauso gut auch in die Hose gehen, wenn ein Projekt größer wird und länger lebt.
Was Du aber auf keinen Fall tun solltest, ist einfach Activity 1 aus Activity 2 heraus aufzurufen.