À titre d'illustration DISONS Je construis une application simple blog et une classe appelée Blog:Où placer les fonctions générales dans OOP?
Class Blog(){
__constructor(){
connectToDatabase();
}
}
Class BlogPost($id) extends Blog {
public $title;
public $body;
etc.
}
La classe BlogPost peut être instancié comme un objet représentant un billet de blog particulier. Mais quand je veux lister tous les enregistrements dans la base de données, je dois mettre cette fonction ailleurs.
Je pourrais le mettre dans la classe Blog, mais en supposant que j'ai beaucoup, beaucoup de telles fonctions qui ne s'appliquent pas à un objet particulier, où devrais-je les mettre? Ou peut-être que j'écris une ligne dans un fichier journal. Il semble stupide d'avoir une classe 'logfile' contenant une seule fonction qui écrit une chaîne passée dans le fichier texte.
Est-il préférable de les regrouper dans une classe Utility(), ou devrais-je créer plusieurs classes telles que util_commenting(), util_archives()? Où dois-je stocker toutes ces petites fonctions autonomes?
-1: L'OP ne s'applique pas clairement à DAO. – Puppy
+1: Et @DeadMG - votre objection est absurde. Si vous avez une meilleure solution, par tous les moyens poster une réponse. –
N'avez-vous pas lu la question, DeadMG? "Mais quand je veux lister tous les enregistrements dans la base de données, je dois mettre cette fonction ailleurs." Un DAO est un endroit parfait pour mettre cette fonctionnalité. – duffymo