Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

re utilisabilité - un-petit-pattern-pubsub-avec-backbone #3

Open
lionelB opened this issue Mar 15, 2012 · 6 comments
Open

re utilisabilité - un-petit-pattern-pubsub-avec-backbone #3

lionelB opened this issue Mar 15, 2012 · 6 comments

Comments

@lionelB
Copy link

lionelB commented Mar 15, 2012

hello,

Je mettrai un bémol sur ce genre de système en accès global, qui entraîne quand même des dépendances forte sur app. C'est pas hyper découplé, dans le sens ou partout dans ton code tu as des référence à une variable globale.
Un mécanisme de mediator qui se base sur des évènements diffusés par les objets, permet de réellement découpler chaqueélément mais nécessite un peu plus de code.

En résumé, je dit pas que c'est mal, mais juste de bien comprendre ce que ça implique ;)

@mklabs
Copy link
Owner

mklabs commented Mar 15, 2012

Hello @lionelB

Damn, qu'est ce que j'aime utiliser les issue github pour commenter des articles de blog :)

Merci pour ton retour, tous tes points sont parfaitement valides. Cette technique se repose sur le fait d'avoir un namespace unique (et point d'entrée global) au niveau de l'appli. Chaque composant augmentant ce namespace, le seul couplage que je peux voir est un couplage entre le composant et l'appelle même, ce qui ne me choque pas. Si l'on met de coté cette technique de bind sur app pour écouter les events, le "couplage" est déja là.

J'aime l'idée du mécanisme de mediator, et l'idée présentée ici est de tourner justement ce point d'entrée, ce namespace (qui peut être un simple objet vide qu'on augmente avec vues, models etc.) en qq chose d'un poil plus évolué, pouvant si besoin jouer ce rôle de mediator.

Le point important pour moi niveau découplage, c'est de ne pas avoir de références directes entres les composants de l'appli, mais ils peuvent utiliser un dénominateur commun, eg. app (ou un autre composant jouant le rôle de mediator, app.mediator ?).

Voilà tout l'idée de cette approche :) En tout cas merci pour ton retour.

En résumé, je dit pas que c'est mal, mais juste de bien comprendre ce que ça implique ;)

👍

@mklabs
Copy link
Owner

mklabs commented Mar 15, 2012

J'ai ajouté le titre de l'article au titre de l'issue, moyen que je finisse par les afficher sur le site..

@lionelB
Copy link
Author

lionelB commented Mar 15, 2012

Hello,
Ce système de comment est ... original :) Ca serait pas mal de pouvoir l'avoir en meme temps que l'article.
Disons que ca me fait pensait au principe du singleton qui peut être appeller d'un peu partout. Venant de flex, j'ai commençais avec le framework cairngorm qui se reposais sur le même principe, résultat, sur de grosses applis, le framework et le code de l'appli devenaient complètement liés et crée des dépendances forte entre model et vues (En gros, dans les vues, pour afficher les données du model, il fallait faire un truc genre ModelLocator.getInstance().maVariable. Le principe inverse de l'injection de dépendance. D'ou mon bémol ;)

Merci pour tes articles.

@mklabs
Copy link
Owner

mklabs commented Mar 15, 2012

Ca serait pas mal de pouvoir l'avoir en meme temps que l'article.

J'en suis pas loin :) 7ca38a2

Je vais ajouter ça rapidement, il suffira d'avoir le titre de l'article (le slug) dans le titre de l'issue.

@mklabs
Copy link
Owner

mklabs commented Mar 15, 2012

@lionelB http://blog.mklog.fr/articles/un-petit-pattern-pubsub-avec-backbone/#gh-comments

Merci d'avoir été le beta-testeur (malgré toi) de la "fonctionnalité" :)

@lionelB
Copy link
Author

lionelB commented Mar 16, 2012

sympa, ca marche bien :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants