¿Dónde radica la ventaja del primer enfoque para obtener datos de clientes?Service vs. Repository
ICustomerService customerService = MyService.GetService<ICustomerService>();
ICustomerList customerList = customerService.GetCustomers();
vs
ICustomerRepository customerRepo = new CustomerRepository();
ICustomerList customerList = customerRepo.GetCustomers();
Si usted entiende mi pregunta no se pregunte cómo la implementación de la clase MyService parece ;-)
aquí es la aplicación de la Repo ..
interface ICustomerRepository
{
ICustomerList GetCustomers();
}
class CustomerRepository : ICustomerRepository
{
public ICustomerList GetCustomers()
{...}
}
@Jamie o LightCore http://lightcore.peterbucher.ch/ ;-) Bueno para una aplicación de escritorio con 10k LoC, no quiero usar una herramienta DI, Lightcore es muy pequeño ;-) ¿Puede mostrarme una implementación típica de dicho ServiceLocator? Supongo que MyService es una clase estática ¿verdad? – msfanboy
ah ... ¿así que al final tendría 20 más si estuviera ejecutando 20 servicios diferentes? diablos, esto es como codificar vb: P por cierto. si le interesan más puntos: P http://stackoverflow.com/questions/3181522/c-services-access-the-dataprovider-class-running-the-sql-statements-correct-a – msfanboy
Creo que hay buenas implementaciones de este patrón, pero este es uno que he visto (y escrito yo mismo). –