• # Re: Orienté objet et base de données

    Posté par (site web personnel) . En réponse au journal Orienté objet et base de données. Évalué à 1.

    Voilà ma solution (en 5 minutes hein, c'est juste une piste ;o) ). J'utilise plutôt Java, donc je ne sais pas dans quelle mesure ma solution est facilement implémentable en PHP objet.

    Pour moi, la classe Evenement est immutable (désolé j'ai jamais trouvé d'équivalent français correct). Donc on ajoute une classe Calendrier qui est une liste d'Evenements avec les accesseurs qui vont bien (ajouter, supprimer, evenementSuivant, tousLesEvenementsAvant...). On peu aussi avoir une classe FabriqueEvenement (design pattern Factory) comme préconisé dans les commentaires ci-dessus pour créer les instances d'Evenement.

    Pour répondre à tes questions :
    1. je mets la méthode listeEvenement() dans la classe Calendrier (là je crois que c'est évident)
    2. la communication avec la base de données se fait dans la classe Calendrier puisque les instance d'Evenement sont immutables, elles sont ajoutées à la BD quand on les ajoute au Calendrier, et enlevé quand on les retire.

    Reste à trouver un moyen intelligent de stocker les Evenements dans la BD pour pouvoir les récupérer sans tous les télécharger dans un cache (pour les dates c'est trivial, mais pour les Evenements récurrents du type 3e samedi du mois ou le lundi de chaque semaine, c'est plus difficile)