2017-09-24 2 views
-1

C# permet la Observer Pattern à mettre en œuvre via:langage C# Niveau Constructs des modèles de conception

Existe-t-il d'autres exemples de modèles de conception que C# implémente au niveau de la langue?

+0

'IObservable ' et '' IObserver , les événements et les délégués ne sont pas caractéristiques linguistiques, ce sont des classes dans le framework .Net ... –

+0

@ZoharPeled 'IObservable 'et' IObserver 'sont des classes (API). 'event' et' delegate' sont des mots-clés (The Language) où 'delegate' implémente automatiquement' MulticastDelegate', et 'event' applique une règle selon laquelle les événements doivent être de type délégué. Avec respect, en raison du fait qu'ils sont des mots-clés dans la langue, ils deviennent des constructions de niveau de langue qui mettent en œuvre le modèle. – series0ne

+0

Eh bien, vous avez un point là. –

Répondre

1
  1. boucle foreach et IEnumerable - est Iterator Motif de GoF
  2. C# événements sont essentiellement une mise en œuvre de la 'chaîne de responsabilité'
  3. Nullable<T> types comme int? - sont un exemple de modèle décorateur.

Pas exactement un niveau de langue, mais encore:

  1. StringBuilder classe est un exemple de modèle GoF Builder.
  2. WPF ICommand - modèle de commande de GoF