• # Injection de dépendance

    Posté par (site web personnel) . En réponse au message Pattern Active Record ou .... Évalué à 4.

    La première façon a pour défaut que ton objet gère lui-même sa sauvegarde. Si tu veux facilement changer la façon dont il est persité, il faudra modifier sa classe.

    La deuxième façon retire l'aspect sympa de demander à l'objet de se sauvegarder.

    Il y a une autre alternative via l'injection de dépendance.
    En gros tu passes au constructeur de ton objet ou à ses méthodes un objet qui implémente l'interface de IDatabase qui fournit les méthodes necessaires pour la sauvegarde de l'objet Alert. Ainsi, tu peux changer facilement la base de données à utiliser sans recompiler.

    Ca donnerait un truc du genre :

    IDatabase db = SqliteDatabase(conf) ;
    Alert alert = new Alert() ;
    alert.save(db) ;
    alert.delete(db) ;

    Cherches "injection de dépendance" et "inversion de contrôle" sur ton moteur préféré.
    A noter que je ne suis pas un expert et que même si je trouve les design patterns souvent très jolis sur le papier, je n'ai pas encore les automatismes pour les appliquer à du code réel.

    L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire