Hey !
J'ai une petite question pour les gens au fait des différents Design Pattern utilisés en programmation-objet. J'ai à faire un premier jet de design pour une application web du genre web store. Le principe de ce petit design est comme vous vous en doutez de mettre en évidence les différents patterns utilisés et d'expliquer l'intérêt de ces patterns. J'avance pas mal, mais j'ai un petit doute quant au pattern d'un des éléments de mon système. Ça ressemble à une façade, sent la façade, mais sur certains détails ça ne colle pas du tout avec une façade. Je n'arrive pas vraiment à trouver à quel pattern ça correspond, et je suis pourtant sûr qu'il y a un pattern bien connu derrière tout ça. Ou peut-être que je me goure complètement (c'est la première fois que je travaille avec les Patterns)
Bon, petite description de mon système. Tout d'abord, les users. Un user de base (non logue) est décoré avec ce qu'il faut quand il se logue (pour garder le caddy, etc... sans avoir a reconstruire un nouvel user et copier tout dans le nouveau). Chaque user possède une instance du ShopManager. Celui-ci contient un objet ShoppingCart, une référence vers l'objet courant + un observateur pour garder les stats. Le ShopManager contient tout un lot de méthodes qui renvoient aux méthodes du ShoppingCart (qui possède un observateur qui va se charger de modifier les infos du stock), du DataBaseProxy, des objets de classe Stock (toutes les infos sur l'état du stock de l'item correspondant, plus les méthodes pour ajouter/enlever/commander/...), et des objets d'interface Item. Saupoudrez-le tous de quelques Singletons et autres Factories, et vous obtenez un bon bordel sans un bon graphe pour tout expliquer. C'est bien dommage, car je n'ai rien pour faire un graphe UML sous la main...
Bref, la question... est-ce que le ShopManager est une façade ? Il conserve une instance de l'item courant et du ShoppingCart... donc il ajoute quelques fonctionnalités. J'ai pensé à peut-être sortir ces deux éléments du ShopManager, et les passer dans l'utilisateur. Mais ça me semblait plus logique de les intégrer dans le ShopManager. Enfin, peut-être que je me trompe (je répète que les Design Patterns c'est vraiment tout nouveau pour moi).
Si jamais quelqu'un a une petite idée ... je suis preneur
@++
Guillaume
J'ai une petite question pour les gens au fait des différents Design Pattern utilisés en programmation-objet. J'ai à faire un premier jet de design pour une application web du genre web store. Le principe de ce petit design est comme vous vous en doutez de mettre en évidence les différents patterns utilisés et d'expliquer l'intérêt de ces patterns. J'avance pas mal, mais j'ai un petit doute quant au pattern d'un des éléments de mon système. Ça ressemble à une façade, sent la façade, mais sur certains détails ça ne colle pas du tout avec une façade. Je n'arrive pas vraiment à trouver à quel pattern ça correspond, et je suis pourtant sûr qu'il y a un pattern bien connu derrière tout ça. Ou peut-être que je me goure complètement (c'est la première fois que je travaille avec les Patterns)
Bon, petite description de mon système. Tout d'abord, les users. Un user de base (non logue) est décoré avec ce qu'il faut quand il se logue (pour garder le caddy, etc... sans avoir a reconstruire un nouvel user et copier tout dans le nouveau). Chaque user possède une instance du ShopManager. Celui-ci contient un objet ShoppingCart, une référence vers l'objet courant + un observateur pour garder les stats. Le ShopManager contient tout un lot de méthodes qui renvoient aux méthodes du ShoppingCart (qui possède un observateur qui va se charger de modifier les infos du stock), du DataBaseProxy, des objets de classe Stock (toutes les infos sur l'état du stock de l'item correspondant, plus les méthodes pour ajouter/enlever/commander/...), et des objets d'interface Item. Saupoudrez-le tous de quelques Singletons et autres Factories, et vous obtenez un bon bordel sans un bon graphe pour tout expliquer. C'est bien dommage, car je n'ai rien pour faire un graphe UML sous la main...
Bref, la question... est-ce que le ShopManager est une façade ? Il conserve une instance de l'item courant et du ShoppingCart... donc il ajoute quelques fonctionnalités. J'ai pensé à peut-être sortir ces deux éléments du ShopManager, et les passer dans l'utilisateur. Mais ça me semblait plus logique de les intégrer dans le ShopManager. Enfin, peut-être que je me trompe (je répète que les Design Patterns c'est vraiment tout nouveau pour moi).
Si jamais quelqu'un a une petite idée ... je suis preneur
@++
Guillaume