29 lines
1008 B
C#
29 lines
1008 B
C#
namespace AlquilaFacil.StrategyBusqueda;
|
|
|
|
public class BusquedaContext
|
|
{
|
|
private static readonly BusquedaContext singleton = new();
|
|
public static BusquedaContext Singleton {get { return singleton; } }
|
|
|
|
private readonly Dictionary<string, IBusquedaStrategy> _estrategias;
|
|
|
|
public BusquedaContext()
|
|
{
|
|
_estrategias = new Dictionary<string, IBusquedaStrategy>
|
|
{
|
|
{ "000", new BusquedaSinParametros() },
|
|
{ "100", new BusquedaPorHabitaciones() },
|
|
{ "010", new BusquedaPorTipo() },
|
|
{ "001", new BusquedaPorServicios() },
|
|
{ "110", new BusquedaPorHabitacionesTipo() },
|
|
{ "101", new BusquedaPorHabitacionesServicios() },
|
|
{ "011", new BusquedaTipoServicios() },
|
|
{ "111", new BusquedaFull() }
|
|
};
|
|
}
|
|
|
|
public IBusquedaStrategy ObtenerEstrategia(string clave)
|
|
{
|
|
return _estrategias.ContainsKey(clave) ? _estrategias[clave] : new BusquedaSinParametros();
|
|
}
|
|
} |