2009-03-30 8 views
7

A présent, j'ai la tâche de concevoir un service web (je vais aller à wcf mais les principes s'appliquent toujours) dans C#. Le problème est qu'il n'y a pas de surcharge de méthodes dont je suis au courant, donc j'ai besoin de nommer des méthodes web avec des noms différents.Conventions de dénomination avec service Web/WCF et aucune surcharge

Je voudrais vraiment avoir des idées sur les conventions de nommage, il ne semble pas y avoir quelque chose là-bas - par exemple.

Ma méthode principale est GetMortgages() - qui retourne toutes les hypothèques. J'ai besoin d'un autre où il renverra des hypothèques dans une certaine gamme de prix ainsi que recommanderiez-vous pour ceci GetMorgagesPriceRange, InPriceRange, WithPriceRange.

Je suis peu confus sur les meilleures pratiques de nommage des méthodes BOF web, j'aimerais juste surcharger GetMortgages mais bien sûr avec les services Web je ne peux pas ...

Alors serait-il préférable de faire GetNounDesciption ??

Quelqu'un sait de tout bon webservices là-bas qui a une méthode qui est la même, mais chaque méthode a différents paramètres passés - comme vraiment savoir sur quoi que ce soit ici

Si elle se pratique de commencer mon webmethod avec GET si c'est quelque chose qui retourne quelque chose ??

Qu'en est-il de quelque chose qui sauve et envoie quelque chose, y a-t-il une norme ici ?? c'est-à-dire PUT ou SAVE ???

Il doit y avoir une sorte de livre de règle à suivre ??

serait vraiment comme une entrée est quelqu'un a une

Merci Mark

+0

je suppose que ce que je demande vraiment, si je dois fournir 5 méthodes que j'ai besoin de passer des paramètres différents, mais renvoie toutes les mêmes données formatées mais différentes en fonction des paramètres qui sont passés alors ce qui est la meilleure façon de lutter contre ce? –

+0

Je suggère GetAllMortgages() et GetMortgagesByPriceRange() afin d'être descriptif de ce que vous revenez de votre service et pour donner une suggestion des paramètres attendus passés. – ManoDestra

Répondre

5

Il n'y a vraiment pas de « règles de l'art » pour les conventions de nommage. Vous en trouvez un qui fonctionne pour vous. L'adoption la plus courante avec .Net est de suivre les conventions de nommage Microsoft .Net, et avec les services Web, il suffit de les traiter comme une extension de votre assembly, et non comme un cas particulier.

http://msdn.microsoft.com/en-us/library/ms229045.aspx

Ainsi, GetMortgages(), GetMortgagesInPriceRange (startPrice, endPrice), etc ... est très bien.

En ce qui concerne la "sauvegarde", beaucoup de gens utiliseront le "SubmitNoun".

0

Je pense que vous allez bien. Décrivez-les en fonction de ce qu'ils font. GetAllMortgages(), GetMortgagesInPriceRange(), etc.

Prenez en compte toute terminologie spécifique à un domaine. Par exemple, si le terme prêt hypothécaire pour une fourchette de prix d'une hypothèque avait été «Démographique», alors GetMortgagesForDemographic serait le meilleur nom, même si vous savez que les seules caractéristiques «démographiques» sont la fourchette de prix.

0

Vous pouvez aller avec un motif de dépôt, si vous avez un service de dépôt comme (je suppose par vos exemples que vous avez) convention

GetXByY(params) 
+0

si nous avons 10 paramètres, il aimera GetXByYByZByWByWByS ...... n'est-ce pas? Est ce bien? –

4

En outre, vous devriez probablement éviter de surcharger les méthodes de service Web. Utilisez des noms de méthodes distincts.

+4

+1 pour indiquer un piège courant pour les débutants dans la création de services Web –

+0

Il s'agit davantage d'un commentaire, même s'il est mis à jour. – theMayer

3

Vous pouvez également faire en sorte que la méthode de service GetMortgages() prenne un 'document' au lieu de paramètres et conçoive les critères de filtre facultatifs dans le document. De cette façon, vous avez seulement une méthode qui gère toutes les «surcharges».

<GetMortgages> 
    <filter> .... </filter> 
    <sort> .... </sort> 
    <group> .... </group> 
</GetMortgages> 
+0

Certainement mieux que plusieurs surcharges; cela vous permet également d'augmenter le nombre de paramètres sur le 'document' sans avoir à créer encore plus de surcharges. –

Questions connexes