Quand doit-on utiliser les interfaces?

Je sais qu'une interface n'a pas un corps juste une définition de la méthode. Mais quand dois-je utiliser les interfaces? Si je le donner à quelqu'un un ensemble d'interfaces avec pas de corps, pourquoi auraient-ils se sentir un besoin d'écrire le corps de la fonction? Serait-il mieux d'écrire leur propre classe abstraite avec des méthodes abstraites en elle.

Édité:

Je suppose que l'utilisation des Interfaces de plus, lorsque vous faites partie d'une équipe. Supposons que l'Équipe A écrit un code pour quelque chose et qu'ils voulaient voir si un appel à une méthode. avec nom getRecords(), qui est fait ou pas. Cela aidera l'Équipe B à écrire le corps de l'interface qui est fournie à eux, et l'Équipe B a garder le nom de la méthode similaire, de sorte que le code de l'Équipe A s'exécute.

Juste une pensée. J'ai peut-être tort. Je pense que les Interfaces n'ont pas l'usage pour un seul développeur.

Édité:

Merci à tous pour les réponses. Avec ce que vous avez tous répondu, je pense que les Interfaces ont plus utiliser lorsque vous effectuez quelque chose comme de l'API?

  • Ce n'est pas nécessairement juste pour les équipes. Au lieu d'équipes, de le considérer en termes de consommateurs de votre API. Vous avez peut-être écrit de deux classes différentes. Vous avez peut-être l'architecture d'une solution qui fonctionne dans un modèle client-serveur. Vous pourriez être la création d'un service web qui doit être consommée. Quel que soit le cas, les interfaces sont à votre ami. Ils vous aideront à gérer la relation de l'appelant vs destinataire de l'appel.
  • pas de "quand faut", mais toujours de faire des interfaces et la mise en œuvre séparément.
  • Le travail en équipe n'est PAS la force motrice de l'interface d'utilisation. Les Interfaces sont TRÈS utiles pour un seul développeur.
  • Théoriser vous avez une fourche hiérarchie de classe et vous avez besoin d'une fonctionnalité similaire dans les deux classes qui ne partagent pas l'ascendance, ou ne partage des ancêtres, mais ils sont un des moyens d'intervalle. Allons plus loin et dire que la fonctionnalité devrait être différent pour les deux classes de toute façon. Boom, l'utilisation de l'interface comme il sera mieux sur la performance, de la conception de code, et de maintenabilité. Ayant BESOIN d'interfaces est rare, la plupart des choses sont résout simplement avec inheritance + polymorphism.
  • Les Interfaces sont grande, car il permet de s'assurer que vous avez tout ce dont vous avez besoin. Il ne vous permettra pas d'oublier quoi que ce soit. C'est comme si vous allez à l'école et vous avez une Interface avec vous, vous devez n'oubliez pas d'apporter votre ordinateur portable et quelle que soit l'école de l'équipement dont vous avez besoin avec vous.
InformationsquelleAutor RKh | 2009-11-06