コード例 #1
0
 public IGeneradorArribos InjectGeneradorDeEventosAleatorios()
 {
     if (this.generadorArribos == null)
     {
         this.generadorArribos = new GeneradorArribosDistribucionExponencial(this.InjectGeneradorNumerosAleatorios());
     }
     return(this.generadorArribos);
 }
コード例 #2
0
        public Modelo(IoCContainer container)
        {
            this.container        = container;
            this.generadorEventos = container.InjectGeneradorDeEventosAleatorios();

            var configuraciones = new Configuraciones(container);

            this.reporte = new ReporteConsola(configuraciones);

            this.tasasDeEventosAleatorios = configuraciones.ObtenerTiemposPromedioDeLosEventos();
            this.Servidores = configuraciones.ObtenerServidores();

            // Se fuerza un evento arribo generando un valor y quitando de consideracion las partidas.
            var primerArribo = this.generadorEventos.ObtenerProximo(this.tasasDeEventosAleatorios[Comunes.ArriboColaUno]);

            this.ListaDeEventos = configuraciones.ObtenerListaDeEventos(primerArribo);

            // Registramos paso inicializacion en reporte.
            this.reporte.RegistrarEvento(this);
        }