public FestivalController(IStage stage)
 {
     this.stage             = stage;
     this.setFactory        = new SetFactory();
     this.instrumentFactory = new InstrumentFactory();
     this.performerFactory  = new PerformerFactory();
     this.songFactory       = new SongFactory();
 }
Beispiel #2
0
        private void doPerform(Request request, FinishCallback callback)
        {
            IRequestPerformer worker = PerformerFactory.Build();

            logger.Log(() => request.ToCompleteString());
            worker.Perform(request, response => {
                logger.Log(() => response.ToCompleteString());
                callback(response);
            });
        }
        public static void Main(string[] args)
        {
            IReader             reader             = new ConsoleReader();
            IWriter             writer             = new ConsoleWriter();
            IStage              stage              = new Stage();
            IInstrumentFactory  instrumentFactory  = new InstrumentFactory();
            IPerformerFactory   performerFactory   = new PerformerFactory();
            ISongFactory        songFactory        = new SongFactory();
            IFestivalController festivalController = new FestivalController(stage, instrumentFactory, performerFactory, songFactory);
            ISetController      setController      = new SetController(stage);

            var engine = new Engine(reader, writer, stage, festivalController, setController);

            engine.Run();
        }
Beispiel #4
0
        public static void Main(string[] args)
        {
            ICommandPool commandPool = new CommandPool();

            commandPool.Register <PrintHello, PrintHelloCommand>();
            commandPool.Register <Summarize, SummarizeCommand>();
            commandPool.Register <PrintText, PrintTextCommand>();

            PerformerFactory factory   = PerformerFactory.Instance;
            IPerformer       performer = factory.Create(commandPool);

            performer.Invoke(new PrintHello());
            performer.Invoke(new Summarize());
            performer.Invoke(new PrintText("Print this text, pls! c:"));
        }
    private void BindingCommands()
    {
        var storageManager = new StorageManager();

        ICommandPool commandPool      = new CommandPool();
        var          performerFactory = new PerformerFactory();

        _performer = performerFactory.Create(commandPool);

        commandPool.Register <LoadGame>(new LoadGameCommand(storageManager, _cellControllers.Values.ToList(),
                                                            _shovelController, _goldWalletController, _goldBarsSpawnerController, _gameProcessController));
        commandPool.Register <Dig>(new DigCommand(_performer, _shovelController, storageManager));
        commandPool.Register <SpawnGoldBar>(new SpawnGoldBarCommand(_goldBarsSpawnerController, storageManager));
        commandPool.Register <CollectGold>(new CollectGoldCommand(_goldWalletController, _goldBarsSpawnerController,
                                                                  storageManager));
        commandPool.Register <EndGame>(new EndGameCommand(_gameProcessController, storageManager));
        commandPool.Register <RestartGame>(new RestartGameCommand(_shovelController, _goldWalletController,
                                                                  _cellControllers, _goldBarsSpawnerController, _gameProcessController, storageManager));
    }
Beispiel #6
0
        public static void Main(string[] args)
        {
            IList <ISet>       sets       = new List <ISet>();
            IList <ISong>      songs      = new List <ISong>();
            IList <IPerformer> performers = new List <IPerformer>();

            Stage stage = new Stage(sets, songs, performers);

            IReader            reader            = new ConsoleReader();
            IWriter            writer            = new ConsoleWriter();
            ISetFactory        setFactory        = new SetFactory();
            IInstrumentFactory instrumentFactory = new InstrumentFactory();
            IPerformerFactory  performerFactory  = new PerformerFactory();
            ISongFactory       songFactory       = new SongFactory();

            IFestivalController festivalController = new FestivalController(stage, setFactory, instrumentFactory, performerFactory, songFactory);
            ISetController      setController      = new SetController(stage);

            var engine = new Engine(reader, writer, festivalController, setController);

            engine.Run();
        }