Mais je pensais que la méthode lire et avis devait être pour l'objet livre et à chaque livre, on verra les objets personnes qui ont lu et commenter . Sinon, comment savoir pour chaque livre , le nombre d'achats, de kecture et de commentaires reçus ?
C'est une excellente question ! Vous avez raison. En POO il y a souvent plusieurs façons de concevoir le code. En fonction des spécifications on pourrait déléguer certaines actions à un objet ou à un autre. La règle de base est la suivante : on fait la conception de manière à réduire tant que possible le couplage entre les classes. L'action concrète de la méthode lire n'est pas définie dans cet exemple. C'est une méthode vide qui simule le fait qu'une personne peut lire un livre dans la vie réelle. Avec cette conception, il est logique d'attribuer l'action lire à une personne (c'est une personne qui initie l'action et pas l'inverse). On garde la méthode lire du côté de la personne également dans la situation où l'action lire modifie l'état de l'objet personne (ex., la personne approfondie ses connaissances suite à une lecture). En revanche, si d'après les spécifications du logiciel nous devons compter combien de fois un livre a été lu, on pourrait ajouter une méthode "être lu" ainsi qu'un attribut "nombre de lectures" à la classe livre. Une personne peut déclencher cette méthode via délégation. On évitera, par contre, le couplage depuis le livre vers la personne. Pour la méthode "rédiger un avis" c'est un peu plus compliqué. Dans l'exemple de la vidéo, on suppose que "rédiger un avis" enregistre l'avis d'une personne dans une base de données. Aucune autre spécification n'est donnée. La lecture des avis n'est pas demandée. Dans cette conception, c'est forcément la classe Personne qui contient la méthode "rédiger un avis" car c'est dans cette classe que nous avons accès aux références du livre et de la personne à la fois. Encore une fois, on évite le couplage depuis le livre vers la personne. Ceci dit, dans une application web réelle on devra surement avoir plusieurs vues : d'une part, une personne peut consulter ses avis rédigés depuis son compte (et les modifier) et d'autre part les avis de différentes personnes doivent être affichés pour un livre. Les données sont stockées dans une base de données. Dans une conception typique on utilise une injection de dépendances dans ce cas.
Merci beaucoup Ekaterina, bonnes fêtes à vous aussi . A bientôt pour la suite, enfin je l'espère. Je tiens à vous féliciter pour votre talent de pédagogue toute faite.
Bonnes fêtes à vous et un grand merci pour votre commentaire.
2 года назад
bonjour et merci pour cette vidéo très instructive. pourriez-vous faire une autre vidéo sur la particularité des classes par rapport au variable de structure ?
Merci pour votre commentaire. Est-ce que vous parlez du type structure (ex. struct en C) ou des variables structurées en général (ex. chaîne de caractères) ?
2 года назад
@@epimedopencourse oui, le type structure (struck en c)
Dans l'immédiat, ce n'est pas prévu. En revanche, si une formation en POO voit le jour sur cette chaîne, cette question sera intégrée, notamment dans des bonnes pratiques de la conception orientée objet. En tout cas, merci pour votre proposition. C'est effectivement une question très intéressante.
C'était parfaitement fluide. Merci, vous avez gagné un abonné :)
Je viens d'arriver ici je veux vraiment comprendre ce paradigme.
Je vous remercie vraiment! vous expliquez merveilleusement bien 😊
super bien expliqué merci beaucoup
Tuto exceptionnelle, académique, très instructive. La POO dévoile tous ses secrets avec cette chaîne.
merci bp
Mais je pensais que la méthode lire et avis devait être pour l'objet livre et à chaque livre, on verra les objets personnes qui ont lu et commenter . Sinon, comment savoir pour chaque livre , le nombre d'achats, de kecture et de commentaires reçus ?
C'est une excellente question ! Vous avez raison. En POO il y a souvent plusieurs façons de concevoir le code. En fonction des spécifications on pourrait déléguer certaines actions à un objet ou à un autre. La règle de base est la suivante : on fait la conception de manière à réduire tant que possible le couplage entre les classes.
L'action concrète de la méthode lire n'est pas définie dans cet exemple. C'est une méthode vide qui simule le fait qu'une personne peut lire un livre dans la vie réelle. Avec cette conception, il est logique d'attribuer l'action lire à une personne (c'est une personne qui initie l'action et pas l'inverse). On garde la méthode lire du côté de la personne également dans la situation où l'action lire modifie l'état de l'objet personne (ex., la personne approfondie ses connaissances suite à une lecture). En revanche, si d'après les spécifications du logiciel nous devons compter combien de fois un livre a été lu, on pourrait ajouter une méthode "être lu" ainsi qu'un attribut "nombre de lectures" à la classe livre. Une personne peut déclencher cette méthode via délégation. On évitera, par contre, le couplage depuis le livre vers la personne.
Pour la méthode "rédiger un avis" c'est un peu plus compliqué. Dans l'exemple de la vidéo, on suppose que "rédiger un avis" enregistre l'avis d'une personne dans une base de données. Aucune autre spécification n'est donnée. La lecture des avis n'est pas demandée. Dans cette conception, c'est forcément la classe Personne qui contient la méthode "rédiger un avis" car c'est dans cette classe que nous avons accès aux références du livre et de la personne à la fois. Encore une fois, on évite le couplage depuis le livre vers la personne.
Ceci dit, dans une application web réelle on devra surement avoir plusieurs vues : d'une part, une personne peut consulter ses avis rédigés depuis son compte (et les modifier) et d'autre part les avis de différentes personnes doivent être affichés pour un livre. Les données sont stockées dans une base de données. Dans une conception typique on utilise une injection de dépendances dans ce cas.
Merci beaucoup Ekaterina, bonnes fêtes à vous aussi . A bientôt pour la suite, enfin je l'espère.
Je tiens à vous féliciter pour votre talent de pédagogue toute faite.
Merci beaucoup !
Bonnes fêtes et félicitations pour la clarté de vos vidéos. Merci pour le partage.
Bonnes fêtes à vous et un grand merci pour votre commentaire.
bonjour et merci pour cette vidéo très instructive.
pourriez-vous faire une autre vidéo sur la particularité des classes par rapport au variable de structure ?
Merci pour votre commentaire.
Est-ce que vous parlez du type structure (ex. struct en C) ou des variables structurées en général (ex. chaîne de caractères) ?
@@epimedopencourse oui, le type structure (struck en c)
Dans l'immédiat, ce n'est pas prévu. En revanche, si une formation en POO voit le jour sur cette chaîne, cette question sera intégrée, notamment dans des bonnes pratiques de la conception orientée objet. En tout cas, merci pour votre proposition. C'est effectivement une question très intéressante.
Toujours un plaisir d’apprendre avec vous et bonne fête de fin d’année à vous !
Merci beaucoup pour votre commentaire, cela fait très plaisir.
Super clair en théorie et bon exemple pratique
Merci :)