[Conception] Votre technique de conception de BDD en cas d'héritage - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Conception] Votre technique de conception de BDD en cas d'héritage (/showthread.php?tid=5727) |
RE: [Conception] Votre technique de conception de BDD en cas d'héritage - Sephi-Chan - 05-10-2011 (05-10-2011, 04:26 PM)Hideaki a écrit : @Sephi-chan : Cela dépend grandement du type de donnée que tu y stocks et de leur nombre et les requêtes à la main, comme les analyses sont tout de même plus chiante à faire. Dans quel cas utiliser STI n'est pas intéressant ? (05-10-2011, 04:26 PM)Hideaki a écrit :Citation :Ok, les joueurs et les bâtiments ont tous les 2 des coordonnées sur la map, mais c'est un rapprochement mineur : inutile de partager si peu de comportements similaires. C'est d'ailleurs là qu'un langage comme Ruby tire son épingle du jeu grâce aux modules : sans hériter, on peut quand même avec des comportements communs en incluant un module — appelons-le Mappable — qui contiendra le code commun).En php, il n'y a pas d'interface comme l'ensemble des langages objets ou d'annotation (sens java du terme) ? Une interface (ça existe en PHP mais pas en Ruby) ne fournit que les prototype, tu dois quand même te coltiner l'implémentation des méthodes (disons par exemple drop(x, y)) côté joueur et côté building. Les modules te permettent d'éviter ça (exemple). RE: [Conception] Votre technique de conception de BDD en cas d'héritage - Hideaki - 05-10-2011 Dans le cas d'utilisation de clef étrangère qui est uniquement dans la classe fille par exemple. RE: [Conception] Votre technique de conception de BDD en cas d'héritage - Sephi-Chan - 05-10-2011 Si tu fais ça, c'est que tu n'adoptes pas STI. Moi ce que je demande, ce sont des exemples concrets où utiliser l'un des deux autres patterns est plus intéressant. RE: [Conception] Votre technique de conception de BDD en cas d'héritage - Hideaki - 05-10-2011 Autant pour moi, j'avais mal lu ^^ La 3ème solution, je l'utiliserais dans le cas où il y a une forte vraisemblance entre les classes, que les classes hérites directement ou successivement, l'avantage de celui-ci est de pouvoir manipuler plus facilement la classe mère dans le cadre d'une liste de bâtiment par exemple, au lieu de chercher dans chaque table les bâtiments sans oublier la facilité de gestion des id. La 2ème solution, pourrait être utilisé dans le cas où hormis le faite de typer (niveau objet), il n'y a pas de variables communes ou extrêmement peu ( pour simplifier ), mais aussi de pouvoir manipuler spécifiquement un type d'objet. RE: [Conception] Votre technique de conception de BDD en cas d'héritage - php_addict - 05-10-2011 cela dépend de ce que tu veut faire il n'y a pas de bonne réponse en fait perso j'utilise (Décomposition ascendante :Une seul table qui regroupe tous les type de bâtiment avec toutes les champs (dont certains non utilisé par certains type) pour la simple et bonne raison que 90% des batiments ont besoin des même champs "caractéristiques", donc dans ce cas c'est très perspicace... RE: [Conception] Votre technique de conception de BDD en cas d'héritage - srm - 05-10-2011 Pareil que php_addict Et avec couchdb tu n'as pas ce problème RE: [Conception] Votre technique de conception de BDD en cas d'héritage - Argorate - 05-10-2011 (05-10-2011, 08:46 PM)oxman a écrit : Pareil que php_addict C'est à dire? RE: [Conception] Votre technique de conception de BDD en cas d'héritage - Sephi-Chan - 05-10-2011 Dans couchDB, tu n'as pas de tables, la base de données n'est qu'un tableau d'objets JSON. Donc tu mets ce que tu veux dans chacun. RE: [Conception] Votre technique de conception de BDD en cas d'héritage - srm - 05-10-2011 Par exemple : http://pastie.org/private/bl4jgsbkeyqjgk6ogp8qw RE: [Conception] Votre technique de conception de BDD en cas d'héritage - Sephi-Chan - 05-10-2011 Ça va lui faire une belle jambe de voir ça. :p |