coltseavers
Goto Top

Startschwierigkeiten bei OOP-Webentwicklung

Hallo zusammen,

ich möchte gerade ehrenamtlich für einen Verein eine Online-Mitgliederverwaltung programmieren.
Diese soll objektorientiert sein, da sie ständig erweiterbar / anpassbar sein soll.

Grundlegende Erfahrungen habe ich bereits in PHP (prozedural), sowie in Java objektorientiert.
In PHP habe ich also noch keine Erfahrungen in OOP.

Probleme sehe ich derzeit eigentlich weniger in der Programmierung, denn bis auf die Syntax ist das ja ähnlich wie in Java, und für die Syntax hab ich Bücher und Suchmaschinen.

Ich habe aber derzeit ein Problem beim Entwurf.
Vorgestellt habe ich mir eine 3-Schichten-Architektur, bei der ich z.B. auch mal das Frontend austauschen kann, oder ein weiteres hinzufügen kann.
(Anfangs soll die Seite für Webbrowser entwickelt werden, später soll es einige Funktionen vielleicht auch mal auf dem Smartphone geben)
Vielleicht soll später auch mal die Datenbank ausgetauscht werden, oder von relational auf objektrelational umgestellt werden - ich will mir also alle Optionen für die Zukunft offen lassen.
Erstmal soll es aber ein Onlineportal werden, dass über Webseiten genutzt wird und die Daten in einer MySQL-Datenbank speichert.
Die Grundfunktionen sollen auch einfach sein: Mitgliederlisten angucken, filtern, Mitglieder hinzufügen, löschen usw. - nichts wildes also.

Probleme sehe ich eigentlich weniger in der eigentilchen Geschäftslogik oder der Datenspeicherung.
Probleme sehe ich eher im Bereich: Präsentationsschicht: Macht man diese Schicht sinnvollerweise auch OOP, oder nicht? Falls ja: wie?
Ich weiss gar nicht, wie ich die 10 Seiten, die ich im Kopf habe in ein OOP-Modell abstrahieren soll. Packt man dann den ganzen HTML und CCS Code in Klassen??? Ich sehe darin erstmal nur einen gewaltigen Aufwand, aber keinen wirklichen Sinn.
Ein weiteres Problem sehe ich in der Verbindung dieser 3 Schichten - ich könnte mir vorstellen, dass es Sinn macht die Schnittstellen / Verbindungspunkte zwischen Präsentationsschicht und Logikschicht sowie zwischen Logikschicht und Datenhaltungsschicht möglichst zu generalisieren, damit man die Schichten auch mal austauschen kann, wie oben schon erwähnt wurde.
Dafür braucht es ja auch diverse Klassen, die dies managen.

Ich suche schon die ganze Zeit nach irgendwelchen Beispielen, wo man mal ein komplettes Projekt in UML und Code sehen kann.
Oder ein Buch, wo diese OOP-Planung und die Umsetzung in UML oder Code dann an einem Beispielprojekt erklärt wird.

Gibt es zu diesem Thema vernünftige Portale (vorzugsweise in deutsch) und Bücher, die ihr empfehlen könnt?
wenn ihr eine Webseite kennt, wo in einer Art Tutorial ein solches Projekt mal beispielhaft durchgedacht wird, wäre ich auch für sowas dankbar.
Und - wie bereits gefragt - wie würdet ihr die Präsentationsschicht angehen - auch OOP, oder die dann doch eher prozedural?
Kann man die 3 Schichten überhaupt unterschiedlich programmieren, oder stehen da dem guten Programmierer die Haare zu Berge?

Fragen über Fragen... face-smile
Vielen Dank vorab für eure Hilfe!

Gruß,
Colt Seavers

Content-ID: 238618

Url: https://administrator.de/contentid/238618

Ausgedruckt am: 26.11.2024 um 15:11 Uhr

colinardo
colinardo 20.05.2014 aktualisiert um 16:51:12 Uhr
Goto Top
Howdy Colt,
vielleicht hilft dir dieser Beitrag zum Thema etwas weiter: http://code.tutsplus.com/tutorials/from-procedural-to-object-oriented-p ...

Grüße Uwe
ErikM87
ErikM87 01.06.2014 aktualisiert um 02:23:08 Uhr
Goto Top
du könntest für die Präsentationschicht eine Template-Engine verwenden.. innerhalb von Templates hast du dann dein HTML/CSS-Gedöhns.. so hättest du Logik von Präsentation voneinander getrennt..

gute Erfahrungen habe ich mit der Smarty Template Engine gemacht..

der Ablauf wäre dann ... DataLayer (SQL oder ORM-Wrapper) <-> Logiklayer <-> Smarty -> Template ---> Browser

www.smarty.net