Tout d'abord, j'espère pouvoir choisir un bon titre pour ma question. Interface en tant que service dans la programmation basée sur l'interface: Comment implémenter une classe de fournisseur de services contre son client en utilisant l'interface
selon le chapitre 7 du livre « The Essential C# » qui tente de décrire l'interface Concept une prise murale est une interface et tous appareils (clients) qui veulent recevoir doit d'alimentation mettre en œuvre cette interface.Ok Ce me fait poser quelques questions simples.
1-Dans notre domaine, il est une entité appelée socket qui est le fournisseur de puissance et autrement dit est Le fournisseur de services, quelle est la relation entre ce fournisseur de service et le service (Interface), et comment nous devons mettre en œuvre la classe Socket.? Quelqu'un peut-il donner un exemple de la mise en œuvre de classe Socket ou donner quelques conseils ou un échantillon de code source? Merci à tous.
2-Si nous regardons Interface comme contrat ou spécification Nous constatons que Parfois, il doit tenir compte de certaines valeurs constantes dans notre contact (ou spécifications) et d'autres ne devraient pas changer et modifier ces éléments et devrait suivre eux exactement comme. The PinsDistance et The PinsLength Dans notre domaine, Mais nous savons que ce n'est pas possible en C# à utiliser Constante dans une interface (en Java Son possible) Comment vous gérez Ce problème.
Un exemple de mise en œuvre de ce numéro est fourni ici.
interface I2PinsWallPlug
{
void Plug();
void Unplug();
//***** Its Not Allowed To Use Const In an Interface In C# *****
//const int Pinsdistance = 1;
//const int PinsLength=5;
//***** Its Not Allowed To Use Const In an Interface In C# *****
}
// A sample appliance is As a Client And Must Implemnt The Interface To Recieve Power
class MyAppliance : I2PinsWallPlug
{
public void Plug()
{
//...
}
public void Unplug()
{
//...
}
}
//The Socket Class is Our Service Provider In Here and
//I dont know My implementation Is Right Or Not ?????????????
class Socket
{
public Socket(I2PinsWallPlug twoPinsWallPlug)
{
}
}
pourriez-vous s'il vous plaît du code pour illustrer cela, merci – siamak
Voilà. J'utilise static readonly au lieu de constantes pour que, s'il change, il soit mis à jour sans recompiler. – Aliostad
il semble que vous ayez répondu à ma deuxième question mais qu'en est-il de ma première question pourriez-vous s'il vous plaît donner un exemple de code pour la classe Socket .et de votre réponse je pense techniquement son droit, mais conceptuellement quand nous discutons d'interface comme contrat nous nous attendions à ce qu'il soit possible de fournir un paquet complet aux clients et ils seraient obligés de remplir tous ses éléments et il semble que l'interface dans C# ne couvre pas complètement le concept de contrat, merci – siamak