Je cherche de l'aide pour identifier ce modèle de design et apprendre le vocabulaire "typique" qu'il utilise:Programmation générale: Quand un ensemble d'objets est géré par un autre objet, comment l'appelez-vous?
Je travaille sur un projet en PHP, et j'ai créé une fine couche ORM qui enregistre des objets génériques et de la base de données. Deux classes fonctionnent:
- "my_object" est essentiellement un conteneur pour différents types de données. Après avoir été créé, cet objet peut être sauvegardé dans la base de données. "My_object_manager" est utilisé pour gérer un ensemble d'objets, par exemple si vous voulez en récupérer plusieurs et les parcourir.
Comme un exemple simplifié, vous pourriez faire quelque chose comme:
$post = new my_object('post');
$post->title = 'foo';
$post->body = 'bar';
$post->author = 'baz';
... et si vous vouliez charger un tas de messages que vous pourriez faire quelque chose comme:
$posts = new my_object_manager('post');
$somePosts = $posts->getBy('author','baz');
foreach($somePosts as $aPost) {
...loop stuff here...
}
Donc, ma question est la suivante: Dans la définition de classe pour "my_object_manager" j'ai besoin de stocker une propriété qui identifie quel type d'objet est géré. Il ressemble à ceci:
class my_object_manager {
protected $theKindOfObjectThatThisManages;
function __construct($whatToManage) {
$this->theKindOfObjectThisManages = $whatToManage;
}
}
Maintenant, pardonnez-moi de ne pas savoir ce genre de choses de base, mais je suis autodidacte et un vocabulaire de programmation assez limité. Je suis sûr que ce genre de modèle de design est commun, mais pour la vie de moi, je n'ai pas été capable de comprendre comment ça s'appelle. J'essaie d'écrire du code que d'autres programmeurs peuvent lire et comprendre, donc, ma vraie question est de savoir si vous lisiez ce code, comment vous attendez-vous à ce que "$ theKindOfObjectThatThisManages" soit appelé? Comment s'appelle ce modèle de conception de programme, et comment appelez-vous ce type d'objet si vous voulez que d'autres programmeurs sachent ce qu'il fait? Enfin, l'éditeur de questions est apparu et m'a dit que cette question avait l'air subjective et risquait d'être fermée. J'espère que cette question est, en fait, correcte pour Stack Overflow - mais sinon, où pourrais-je poser cette question et obtenir une réponse?
Merci!
Ah, alors ** c'est ce que ActiveRecord est. Vous savez, j'en avais entendu parler, mais je ne comprenais pas exactement ce que cela signifiait jusqu'à ce que je lis la page PHPActiveRecord à laquelle vous étiez lié. Merci! – Andrew