Observateur modèle de conception en C++
Est l'observateur de modèle de conception sont déjà définies dans la STL (Comme le java.util.Observateur et java.util.Observables en Java) ?
- Sans doute comme un exemple d'une autre langue de la bibliothèque standard qui a le pattern observer construit en elle.
- oui, Jeremy, c'est correct
- Est de stimuler acceptable pour vous? Si non je serais disposé à publier une norme de non-améliorer la mise en œuvre.
Vous devez vous connecter pour publier un commentaire.
Voici une implémentation de référence (à partir de Wikipédia).
Non, mais Boost.Signals2 vous donne quelque chose de similaire.
Aussi loin que mes connaissances en va en C++, STL ne dispose pas d'une mise en œuvre pour le pattern observer. Il y avait une proposition de Signal/Slot pour la bibliothèque standard dans TR2 bien.
Il ya beaucoup de bibliothèques qui prévoit la mise en œuvre d'Observateur modèle de la bibliothèque Qt étant l'un des pionniers. La bibliothèque boost a une mise en œuvre (voir Boost::Signaux & Boost::Signals2).
Le Poco de la bibliothèque C++ a soigné la mise en œuvre du modèle observateur (voir NotificationCenter).
libsigc++, le rpc-les événements sont quelques-uns des autres bibliothèques qui fournissent signal/slot implémentations.
Non, il ne le fait pas. Le C++ STL est beaucoup plus petite que Java est à la Bibliothèque Standard. Si vous êtes à la recherche de quelque chose à développer sur la STL qui est pris en charge par presque tout, il serait utile de prendre un regard sur les bibliothèques Boost. Dans ce cas, vous voudrez peut-être chercher à Coup de pouce.Les signaux qui fournit un signal/slot du modèle.
voir également UML/diagrammes de flux de http://www.patterns.pl/observer.html
La Modèle de conception observateur n'est pas défini dans la
STL
. Vous pouvez vous référer à la La "bande des quatre" Modèles de Conception de livre ou une recherche sur Google devrait fournir suffisamment de détails pour la mettre en œuvre. Si cette question n'est pas résolue bientôt, je vais poster un exemple rapide.