Guten Tach !
Ich habe derzeit mit einem Projekt in Java (genauer gesagt Maven) zu tun, dass aus drei verschiedenen Maven Projekten besteht, wobei eines davon eine Art Anwendungskern darstellt, eines ist speziell für GUI Seiten (JSF) und das letzte händelt so ein bisschen das Zusammenspiel zwischen GUIs und den Klassen, die direkt hinter diesen GUIs stehen (JSF Beans).
Nun ist es leider so, dass die einzelnen Klassen dieser Projekt sich fast vollständig gegenseitig kennen und somit harte Abhängigkeiten (Projektübergreifend und auch Paketübergreifend) vorhanden sind.
Meine Frage an euch (auh wenn es eine sehr allgemeine Frage ist): Ist diese Art von Projektaufteilung schon im Vorraus irgendwann zum Scheitern verurteilt? Sind solche gegenseitigen "Bekanntschaften" von Klassen aus unterschiedlichen Paketen und Maven Projekten bereits schon eine Art Bad Smell und wenn ja, wie kann man so etwas versuchen zu entkoppeln? Evtl. nur über die Definition von Schnittstellen?
Ich habe derzeit mit einem Projekt in Java (genauer gesagt Maven) zu tun, dass aus drei verschiedenen Maven Projekten besteht, wobei eines davon eine Art Anwendungskern darstellt, eines ist speziell für GUI Seiten (JSF) und das letzte händelt so ein bisschen das Zusammenspiel zwischen GUIs und den Klassen, die direkt hinter diesen GUIs stehen (JSF Beans).
Nun ist es leider so, dass die einzelnen Klassen dieser Projekt sich fast vollständig gegenseitig kennen und somit harte Abhängigkeiten (Projektübergreifend und auch Paketübergreifend) vorhanden sind.
Meine Frage an euch (auh wenn es eine sehr allgemeine Frage ist): Ist diese Art von Projektaufteilung schon im Vorraus irgendwann zum Scheitern verurteilt? Sind solche gegenseitigen "Bekanntschaften" von Klassen aus unterschiedlichen Paketen und Maven Projekten bereits schon eine Art Bad Smell und wenn ja, wie kann man so etwas versuchen zu entkoppeln? Evtl. nur über die Definition von Schnittstellen?