2010-06-29 8 views
0

Ce qui est une meilleure approche pour exécuter des opérationsopérations d'exécution

  1. Utilisation délégué
  2. Utilisation d'action
  3. Utilisez prédicats
  4. Utilisez Func

Ce qui est une fois le meilleur en termes de performance, mémoire et maintenabilité du code.

+0

Qu'entendez-vous par opérations? Quelle langue? –

+0

Il pourrait y avoir une idée dans le nom d'utilisateur .... – skaffman

Répondre

0

Comme pour la plupart des choses, cela dépend. Essayez-vous d'exécuter des opérations asynchrones? Opérations multithread? Traitez-vous des événements? Votre nom "Utilisateur WPF" suggère que vous utilisez .NET.

+0

Je voudrais exécuter un morceau de code sur un délégué. Les options que j'ai sont Action, Delegate, Predicate et Func. Cette opération peut s'exécuter de manière asynchrone. Quelle est la meilleure option à choisir? Je suis en .net en utilisant le prgrammage C#. –

1

Probablement pas ce que vous voulez entendre mais,

Tout dépend.

L'utilisation de Predicate<> est une bonne idée dans les applications spécifiques pour lesquelles il est adapté (mais c'est aussi la même chose que Func<T, bool>).

Si vous pouvez utiliser Func<> (ou son cousin sans retour Action<>) alors allez-y. Il est toujours préférable de réutiliser ce qui existe déjà plutôt que de réinventer la roue.

Si tout le reste échoue, se replier sur delegate. Il n'y a rien de mal à ça et ça marche toujours très bien. Je ne pense pas que vous allez trouver que l'un de ceux-ci fonctionne toujours mieux en termes de vitesse ou de consommation de mémoire, car leur performance va être dictée par le code que vous exécutez à l'intérieur d'eux.

Choisissez simplement ce qui convient à vos besoins et continuez. S'il y a un problème de rendement à un moment donné, il faut s'inquiéter à ce moment-là. Code d'abord, optimiser plus tard.