De nombreuses demandes que la plus grande partie de la GoF modèles de conception sont tout simplement des solutions de contournement pour l'absence de la première classe de fonctions. Maintenant que Java est sur le point d'obtenir les expressions lambda, qui de ces modèles sera influencé par eux? Ceux qui peuvent être considérablement simplifiée ou généralisée? Et celles qui restent fondamentalement les mêmes? Un exemple est la bienvenue.
Réponse
Trop de publicités?Je pense que votre volonté de voir le plus de changements dans les modes de comportement.
Méthode de modèle - Modèle de méthodes seront de plus en plus rarement utilisé, et au lieu de cela nous permettra de voir les objets passent fonctions à la AbstractTemplate au lieu de dériver l'AbstractTemplate. J'ai blogué à propos de ce un loooong moment il y a ici: http://hamletdarcy.blogspot.ch/2007/11/groovy-closures-end-of-template-method.html
Modèle observateur Observateur devient simplifiée car vous n'avez plus besoin de tenir une liste des observateurs qui sont mis sur de nouveaux événements, mais plutôt de faire une liste de fonctions qui ont besoin d'être rappelé à de nouveaux événements. Donc, il n'y a plus d'Observateur de l'interface et simplement la fonction des objets.
Etat/la Stratégie de Motif - je les ensemble parce qu'ils sont structurellement équivalent, juste différent dans l'intention. Stratégie d'utilisation deviennent beaucoup plus commun parce que c'est plus facile à mettre en œuvre. Vous n'avez pas besoin d'un parent de la stratégie et de la stratégie de sous-classes, vous avez juste besoin de fonctions. De sorte qu'il est simple de passer une fonction en paramètre, qui en effet est en utilisant le modèle de stratégie.
Dans l'ensemble, je pense que n'importe quel modèle qui nécessite une méthode de l'interface devient plus facile à mettre en œuvre. Cela aura deux effets. 1) Nous allons utiliser ces schémas fonctionnels plus, et 2) nous allons cesser de se référer à eux comme des modèles, mais tout comme le "passage d'une fonction".
Vous faites ce que vous voulez, mais je pense que "JavaScript les Bonnes Parties" donne une assez bonne introduction à l'exploitation de fonctions dans une langue. Vous pouvez le ramasser et de le lire!