Principales respuestas
Usar Clase Estatica o Normal

Pregunta
-
Buenos días, tengo una duda, tengo que hacer un class library para subirlo a un NuGet, esta nuget va a consumir un servicio rest, y regresar el resultado de la operación, pero mi duda es.
¿Como es mejor hacer el proyecto que se publica en el NuGet con clases estáticas y no estáticas?
Pregunto esto por que quería que cuando instalaran mi nuget solo pusieran el código así:
ClaseNuget.Metodo();
y no tuvieran que generar una instancia, pero no se si al tener una clase estática que consume métodos para agregar o eliminar se llegue a traslapar información o algo parecido.
Saludos y buen día.
Hugo Gil
Respuestas
-
hola
>>¿Como es mejor hacer el proyecto que se publica en el NuGet con clases estáticas y no estáticas?
si quieres directo invocar el metodo sin instanciar entonces deberias usar static
Ahora bien, la verdad no lo recomendaria, porque las librerias que desarrollas deberian poder inyectarse para su uso, ademas de poder ser mockeadas para el test
la libreria deberia exponer una interface como ser
public interface IClassNuget{ void Metodo(); }
entonces la implementacion de esa interface seria lo que usas inyectandolo con librerias de IoC, como ser Unity, autofac, Ninject, etc
No uses static cuando diseñas librerias, si puedes
Ademas piensa en quien vaya a realizar test de su codigo, como mockea tu desarrollo si le pones un static
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta Hugo Gil miércoles, 29 de enero de 2020 18:18
Todas las respuestas
-
hola
>>¿Como es mejor hacer el proyecto que se publica en el NuGet con clases estáticas y no estáticas?
si quieres directo invocar el metodo sin instanciar entonces deberias usar static
Ahora bien, la verdad no lo recomendaria, porque las librerias que desarrollas deberian poder inyectarse para su uso, ademas de poder ser mockeadas para el test
la libreria deberia exponer una interface como ser
public interface IClassNuget{ void Metodo(); }
entonces la implementacion de esa interface seria lo que usas inyectandolo con librerias de IoC, como ser Unity, autofac, Ninject, etc
No uses static cuando diseñas librerias, si puedes
Ademas piensa en quien vaya a realizar test de su codigo, como mockea tu desarrollo si le pones un static
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta Hugo Gil miércoles, 29 de enero de 2020 18:18
-