Class vs. function



  • Wie müsste denn ein Gästebuch vorbildlich aufgebaut sein?



  • oop-nerd schrieb:

    Wie müsste denn ein Gästebuch vorbildlich aufgebaut sein?

    In Anbetracht der Tatsache, daß die Objekte zwar mit Datenbankzeilen korrespondieren, die Datenbank aber unabhängig von deinem Objekten zaubern kann, hast Du ein pöses Dilemma.
    Kein Ausweg. Es gibt kein schönes php/mysql-Gästepuch.

    Ich würde gar keine Klassen der Anwendungsdomäne bauen. Nur das Datenbank-Geraffel ein wenig wegkapseln. Für ein Gästebuch reicht wohl schon eine Funktion, die eine peliebige query ausführt als <table> ausgibt.



  • oop-nerd schrieb:

    Wie müsste denn ein Gästebuch vorbildlich aufgebaut sein?

    Also da brauchen wir eine Klasse Entry, eine Klasse DBConnection, einen DBConnectionPool, einen ObjectMapper, einen HTMLBuilder und weil die Benutzer untscheidliche Skins haben wollen, auch noch eine SkinPreferences Klasse und eine HTMLBuilderFactory, die uns für einen Skin die passende HTMLBuilder Klasse gibt. Puh...



  • Würde man mein Projekt als "unsauber"/schlecht programmiert bezeichnen, wenn ich einfach alle funktion in ner seperaten Datei schreibe und diese dann entsprechend einbinde und komplett auf Klassen verzichte?



  • oop-nerd schrieb:

    Würde man mein Projekt als "unsauber"/schlecht programmiert bezeichnen, wenn ich einfach alle funktion in ner seperaten Datei schreibe und diese dann entsprechend einbinde und komplett auf Klassen verzichte?

    nö, religions krieg 😃



  • ein simples Gästebuch kannst du auch funktional programmieren. Aber sobald z.B. eine Benutzerverwaltung dazukommt, fährst du mit Klassen besser.
    Wobei es nie schaden kann, zusammenhängende Daten in einer Klasse zu kapseln. Die Logik kann ja weiter in Funktionen stecken, aber die Datenhaltung und die Kommunikation mit der Datenbank erfolgt in Klassen.

    Außerdem vermeidest du so eine übergroße functions.php



  • zwutz schrieb:

    ein simples Gästebuch kannst du auch funktional programmieren. Aber sobald z.B. eine Benutzerverwaltung dazukommt, fährst du mit Klassen besser.
    Wobei es nie schaden kann, zusammenhängende Daten in einer Klasse zu kapseln. Die Logik kann ja weiter in Funktionen stecken, aber die Datenhaltung und die Kommunikation mit der Datenbank erfolgt in Klassen.

    Außerdem vermeidest du so eine übergroße functions.php

    funktional != prozedural dürfte ein Top-Tipp in diesen Religionsdiskussionen sein.

    MfG SideWinder



  • SideWinder schrieb:

    funktional != prozedural dürfte ein Top-Tipp in diesen Religionsdiskussionen sein.

    Ich weiß. Und weiter? Es dürfte in PHP relativ schwer fallen, auf den prozeduralen Ansatz vollständig zu verzichten, egal ob man objektorientiert oder funktional programmiert



  • zwutz schrieb:

    SideWinder schrieb:

    funktional != prozedural dürfte ein Top-Tipp in diesen Religionsdiskussionen sein.

    Ich weiß. Und weiter? Es dürfte in PHP relativ schwer fallen, auf den prozeduralen Ansatz vollständig zu verzichten, egal ob man objektorientiert oder funktional programmiert

    Mit welchen Sprachen hast du bisher was funktional programmiert?



  • zwutz schrieb:

    SideWinder schrieb:

    funktional != prozedural dürfte ein Top-Tipp in diesen Religionsdiskussionen sein.

    Ich weiß. Und weiter? Es dürfte in PHP relativ schwer fallen, auf den prozeduralen Ansatz vollständig zu verzichten, egal ob man objektorientiert oder funktional programmiert

    Du weißt nicht.



  • zwutz schrieb:

    SideWinder schrieb:

    funktional != prozedural dürfte ein Top-Tipp in diesen Religionsdiskussionen sein.

    Ich weiß. Und weiter? Es dürfte in PHP relativ schwer fallen, auf den prozeduralen Ansatz vollständig zu verzichten, egal ob man objektorientiert oder funktional programmiert

    Das macht gerade keinen Sinn.

    @oop-nerd:
    Einfach Code herzeigen, dann kann man über sowas viel besser reden.

    Ein Paradigma zu verwenden nur um es zu verwenden ist idR eine schlechte Idee. Wenn es sich für dich Prozedual gut anfühlt, dann mach es so. Wenn du genug Code zum herzeigen hast dann poste ihn hier und wir können darüber reden.


Anmelden zum Antworten