Toc, toc !
Attention, les decorator pattern, pas plus que les design pattern, ne sont
spécifique au python !
Et pour éviter tout amalgame, decorator n'est pas le mot designant la notion
d'héritage en python !

Le decorator pattern s'applique à toute classe quelques soit le langage et
peut utiliser l'héritage, bien qu'il soit plutôt fait pour l'éviter.

Pour plus de précision, car je n'ai pas une vision totale des nombreux
design pattern existant, google sera votre ami.

De plus, si j'osais, je dirais de ne pas trop vous prendre la tête avec
cela, car si c'est propablement important de savoir que cela existe, cela me
parait pas indispensable de s'obstiner à vouloir tout comprendre.
Surtout que certain pattern peuvent devenir moins utile avec l'évolution des
langages, par exemple la notion de classe statique pour les singleton. 

-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De la
part de Yannick Youalé
Envoyé : vendredi 27 décembre 2013 12:25
À : [email protected]
Objet : [progliste] Re: Python et decorators

Salut Lavachri !

Moi également je ne connaissais pas le sens de cette notion du langage 
python. Merci de nous l'avoir expliqué.

Cependant, maintenant que je suis au courant, je suis également frappé par 
le fait que le mot 'decorator' me semble toujours si peu approprié pour 
traduire cette notion.

Peut-etre que si le terme 'héritage' était déja pris, ils auraient pu 
choisir autre chose comme par exemple 'derivative' (le dérivé) ou 'retort' 
(la réplique) ou meme encore 'clone' (le clone) pour la nommer. Et c'aurait 
été plus précis.

Cela peut parraitre anodin, je trouve, mais en matière de programmation, la 
compréhension d'une notion passe d'abord par la pertinence du terme choisi 
pour la représenter.

Enfin, ce n'est que mon avis de bigleux qui se mèle un peu trop de ce qui ne

le regarde pas.

Et toc !

Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.






----- Original Message ----- 
From: "LavaChri" <[email protected]>
To: <[email protected]>
Sent: Friday, December 27, 2013 11:37 AM
Subject: [progliste] Re: Python et decorators


> Slt, sans être un expert dans les Design Pattern, voici l'idée générale.
>
> Comme dans toute activité, en programmation on retombe souvent sur les 
> même
> problème.
> Les design pattern décrivent des méthodes, des solutions, des façon de
> procéder, ...
> Le fait de nomer les choses permèt de faciliter les échanges, les
> discutions, la modélisation, ...
>
> Par exemple, si l'on te demande d'utiliser un sinbleton pour la connexion 
> à
> une librairie. Il faudra que tu crée une classe ne permètant d'instancier
> qu'un seul et unique objet. En fonction du langage l'écriture de ce code
> sera plus ou moins complexe mais tu trouveras des exemples facilement en
> recherchant le mot singleton.
>
> Le decorator est une façon de permètre de faire évoluer le comportement
> d'une classe sans toucher à son code interne.
> Par exemple tu crée une classe décrivant la composition d'un sandwich à
> partir de pain, beurre et jambon.
> Si tu veux pouvoir modifier les ingrédients tu peux le faire directement
> dans la classe, par exemple en créant une méthode qui change le pain en
> Toast. Cela implique d'avoir les droits de modifier la classe et les 
> risques
> de se greffer à un code déjà existant.
>
> Ou, utiliser des décorateurs.
> Dans ce cas la classe de base ne sera plus modifié.
> Et tu pourra écrire plus facilement, ou faire écrire par d'autres
> programmeurs en même temps, des classe "décoratrice" de la classe de base
> car son comportement réstera fixe et connu.
>
>
> --Message d'origine-----
> De : [email protected] [mailto:[email protected]] De la
> part de Jean-François Colas
> Envoyé : jeudi 26 décembre 2013 15:05
> À : [email protected]
> Objet : [progliste] Python et decorators
>
> Hello la ML,
>
> J'ai un peu de mal avec cette notion, pas tellement dans son principe,
> encore que, mais surtout dans la manière dont elle s'implémente en
> Python. La faute aux docs dans lesquelles les indentations sont perdues...
>
> Qui pourrait élaborer un petit exemple, de préférence utilitaire, du
> moins didactique, pour illustrer ce mécanisme?
>
> Qu'est-ce que je crois avoir compris à ce jour?
> Même s'il semble que cette notion rentre plutôt dans la programmation
> objet et les fameux "design patterns", je ne reste qu'au niveau d'une
> simple fonction: cette fonction pourrait être encapsulée dans une autre,
> fonction "décoratrice", pas tellement en vue de lui mettre du fard sur
> les yeux ou une jolie cravate, mais pour, entre autres possibilités,
> filtrer les données qui pourraient arriver à cette fonction...
>
> Comme vous voyez, ça ne va pas bien loin. Aussi,  toutes précisions qui
> peuvent entrer dans un message de maililing-list seront bienvenues...
>
> Merci,
> J.-F.
>
> Progliste :
> Pour se désinscrire de la liste :
> mailto:[email protected]?subject=unsubscribe
>
> Pour voir les archives de la liste :
> http://www.mail-archive.com/[email protected]/
>
> Je vous rappelle que les pièces jointe sont activés leur taille est limité

> à
> 2 MO
>
> Pour accéder aux fichiers de la liste
> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
> Ou en utilisant la nouvelle page de partage :
> http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, 
> je
> vous répondrez en privé.
>
>
>
> Progliste :
> Pour se désinscrire de la liste : 
> mailto:[email protected]?subject=unsubscribe
>
> Pour voir les archives de la liste :
> http://www.mail-archive.com/[email protected]/
>
> Je vous rappelle que les pièces jointe sont activés leur taille est limité

> à 2 MO
>
> Pour accéder aux fichiers de la liste
> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
> Ou en utilisant la nouvelle page de partage :
> http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, 
> je vous répondrez en privé.
>
>
> 

Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à
2 MO 

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je
vous répondrez en privé.
        
        

Progliste :
Pour se désinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 
MO 

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.
        
        

Répondre à