2009-03-30 20 views
7

Actualmente tengo la tarea de diseñar un servicio web (voy a wcf, pero los principios aún se aplican) en C#. El problema es que no hay sobrecarga de métodos de los que soy consciente, así que debo nombrar métodos web con diferentes nombres.Convenciones de nomenclatura con servicio web/WCF y sin sobrecarga

Realmente me gustaría obtener información sobre convenciones de nombres, simplemente no parece haber nada por ahí, por ejemplo.

Mi método principal es GetMortgages() - que devuelve todas las hipotecas. Necesito otro en el que devolverá las hipotecas dentro de un cierto rango de precios, entonces qué recomendaría para este GetMorgagesPriceRange, InPriceRange, WithPriceRange.

Soy poco confundido acerca de las mejores prácticas vaivén nombrar métodos web, me encantaría simplemente sobrecargar GetMortgages pero por supuesto con los servicios web que no puedo ...

Así que sería mejor hacer GetNounDesciption ??

Alguien sabe de alguna buena servicios web por ahí que tiene un método que es lo mismo, pero cada método tiene diferentes parámetros pasados ​​- me gusta saber de nada aquí

Si se consigue la práctica para comenzar mi WebMethod con GET si es algo que devuelve algo ??

¿Qué pasa con algo que guarda y envía algo, hay un estándar aquí? es decir PUT o SAVE ???

Debe haber algún tipo de libro de reglas a seguir?

realmente me gustaría alguna entrada es alguien tiene alguna

Gracias Marcos

+0

supongo que lo que realmente estoy preguntando es, si tengo que dar 5 métodos que necesito para pasar parámetros diferentes, pero todos vuelven mismos datos formateados pero diferentes en función de los parámetros que se pasan después a cuál es la mejor manera de abordar ¿esta? –

+0

Sugeriría GetAllMortgages() y GetMortgagesByPriceRange() para ser descriptivo de lo que está devolviendo de su servicio y para dar una sugerencia de los parámetros esperados pasados. – ManoDestra

Respuesta

5

En realidad no hay ningún "libro de reglas" para las convenciones de nomenclatura. Encuentra uno que funcione para usted.

La adopción más común con .Net es seguir las convenciones de nombres de Microsoft .Net, y con los servicios web, simplemente trátelos como una extensión de su ensamblaje, no como un caso especial.

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

Así, GetMortgages(), GetMortgagesInPriceRange (startPrice, endPrice), etc ... está bien.

En cuanto a "guardar", mucha gente usará el "EnviarNo".

0

Creo que lo estás haciendo bien. Descríbelos según lo que están haciendo. GetAllMortgages(), GetMortgagesInPriceRange(), etc.

Tenga en cuenta cualquier terminología específica de dominio. Por ejemplo, si el término de la industria hipotecaria para un rango de precio de una hipoteca hubiera sido "Demográfico", entonces GetMortgagesForDemographic sería el mejor nombre, incluso si usted sabe que las únicas características "demográficas" son el rango de precios.

0

Usted podría ir con repositorio de patrón si tiene servicio de depósito similar (como supongo por sus ejemplos que tienen) convención

GetXByY(params) 
+0

si tenemos 10 parámetros le gustará GetXByYByZByWByWByS ...... ¿no es así? ¿Es correcto? –

4

Además, probablemente debería evitar la sobrecarga de métodos de servicios web. Use nombres de método distintos.

+4

+1 para establecer un error común para los novatos en la creación de servicios web –

+0

Esto es más que un comentario, aunque está subido. – theMayer

3

También podría hacer que el método de servicio GetMortgages() tome un 'documento' en lugar de parámetros y diseñe los criterios de filtro opcionales en el documento. De esta forma, solo tienes un método que maneja todas las 'sobrecargas'.

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

Definitivamente mejor que las sobrecargas múltiples; también le permite aumentar el número de parámetros en el 'documento' sin tener que crear aún más sobrecargas. –

Cuestiones relacionadas