dedlfix: Java Framework (struts, jsf, spring) für größere Projekte nutzen

Beitrag lesen

Hi!

Ich frage mich aber nun, da mir natürlich die Praxis mit einem Framework total fehlt, ob man bei größeren Projekten (Bsp. Community, Forum, ...) mit einem Framework gut fährt?

Das kommt darauf an. Es ist wie mit einem Haus. Du kannst in ein fertiges einziehen, bei dem alle Infrastruktur bereits vorhanden ist und dort versuchen, deiner eigentlich geplanten Tätigkeit nachzugehen. Am Anfang wirst du eine Menge Dinge (Sicherung fürs Kellerlicht, Absperrhahn für Wasser, Elektrozähler) nicht finden, wenn die Dokumentation schlecht ist oder sie sich dir nicht intuitiv erschließen. Mit der Zeit gewöhnst du dich vielleicht dran. Es kann dir jedoch auch passieren, dass du feststellst, dass das Haus doch nicht oder nicht mehr deinen Bedürfnissen entspricht.

Du kannst aber auch auf der grünen Wiese dir selbst ein Haus nach deinen eigenen Vorstellungen errichten. Du wirst dann jeden Winkel genau kennen und kannst Reparaturen und Anbauten selbst vornehmen. Aber auch hier kann es passieren, dass du feststellst, dass das Haus doch nicht oder nicht mehr deinen Bedürfnissen entspricht.

Wie auch immer, in jedem Fall vergeht Zeit, die du zum Selbstbau oder zum Suchen des passenden Hauses und Erkunden aufbringen musst. Und was der beste Weg ist, kann dir vorher keiner sagen.

  1. Ich frage mich, wie ich zum Beispiel das Gesamtlayout (Header,...) einbinde. (Bisher hatte ich immer in meinen JSP-Dateien ein include und Zentral einen Header.

Das kommt auf die Philosophie und auch auf die Möglichkeiten des Frameworks an.

  1. Wenn ich Tabellen, Listen, Menüs, Formularfelder einfüge, frage ich mich, wie ich das designtechnische integriere, was zum Beispiel class oder id's für einzelne HTML-Tags angeht (bzgl. CSS)

Das scheint mir ein HTML-Problem zu sein und hat nichts oder nicht viel mit dem Framework zu tun. Am Ende muss eine fertige Seite beim Browser ankommen. Du kannst auch andersrum an die Geschichte rangehen und zunächst eine statische Seite erstellen, die in den Browsern wie gewünscht funktioniert und dich dann heransetzen und sie durch Programmcode erzeugen zu lassen.

  1. Vorallem müsste ich mir über die Logik Gedanken, ob und wie ich Arbeit sparen kann, was die Geschäftslogik betrifft. Bsp. das Auslesen der Gästebucheinträge von Gästebuchmitglidern/Besuchern würde so ähnlich aussehen wie das Auslesen von Bug-Einträgen von Mitgliedern/Besuchern. Wobei, die dann auch nicht ganz gleich aussehen, da bei Bug-Einträgen bestimmte Buttons bzw. Links für Operator vorhanden sind und die Tabellen in der DB natürlich anders.

Das ist ein allgemeines Problem beim Programmieren: Finde Gemeinsamkeiten in den einzelnen Aufgabenstellungen, versuche dann eine generische Lösung zu erstellen, die mit unterschiedlichen Parametern die gewünschten Ergebnisse erzielt. In der OOP kann man das auch durch (abstrakte) Basisklassen hinbekommen, die um von weiteren Klassen mit spezieller Funktionalität beerbt werden können.

Es gibt da den theoretischen Weg und den praktischen. Der theoretische setzt einen Software-Architekten voraus, der das ganze Gebilde plant und die Strukturen festlegt. Der praktische fängt mit dem Erstellen von Funktionalität an und stellt fest, dass man sie nochmal mit leichten Änderungen an anderer Stelle braucht und refaktoriert den vorhandenen Code. Am besten ist der goldene Mittelweg: sich zunächst mit der gedanklichen Struktur verplanen und dann praktisch solch ein Chaos erzeugt zu haben, dass man effektiver- und effizienterweise noch mal neu anfängt, als dass man das Gebilde durch einen Anbau in seiner Stabilität grundlegend beeinträchtigt.

Lo!