private static void ComposeCachedService()
        {
            var baseReader  = new ServiceReader();
            var cacheReader = new CachingReader(baseReader);
            var viewModel   = new PetsViewModel(cacheReader);

            Application.Current.MainWindow = new PetViewerWindow(viewModel);
        }
Пример #2
0
        private static void ComposeObjects()
        {
            var wrappedReader = new ServiceReader();
            var reader        = new CachingReader(wrappedReader);
            var viewModel     = new PeopleViewModel(reader);

            Application.Current.MainWindow = new MainWindow(viewModel);
        }
Пример #3
0
        private static void ComposeObjects()
        {
            var reader        = new SQLReaderProxy();
            var cachingReader = new CachingReader(reader);
            var viewModel     = new PeopleViewModel(cachingReader);

            Application.Current.MainWindow = new MainWindow(viewModel);
        }
Пример #4
0
        public async Task GetPeople_OnNoCache_CallsReader()
        {
            var counted  = new CountedReader();
            var duration = new TimeSpan(0, 0, 1);
            var reader   = new CachingReader(counted, duration);

            await reader.GetPeople();

            Assert.AreEqual(1, counted.CallCount);
        }
        private static void ComposeObjects()
        {
            var baseReader = new ServiceReader();
            //var reader = new CSVReader();
            //var reader = new SQLReader();

            var reader    = new CachingReader(baseReader);
            var viewModel = new PeopleViewModel(reader);

            Application.Current.MainWindow = new PeopleViewerWindow(viewModel);
        }
Пример #6
0
        private static void ComposeObjects()                // Assemble the loosely coupled pieces together...
        {
            //var reader = new ServiceReader();
            //var reader = new CSVReader();
            //var reader = new SQLReader();
            var wrappedReader = new ServiceReader();
            var reader        = new CachingReader(wrappedReader);
            var viewModel     = new PeopleViewModel(reader);

            Application.Current.MainWindow = new PeopleViewerWindow(viewModel);
        }
Пример #7
0
        private static void ComposeObjects()
        {
            var reader        = new ServiceReader();
            var delay         = new TimeSpan(0, 0, 3);
            var retryReader   = new RetryReader(reader, delay);
            var logger        = new FileLogger();
            var loggingReader = new ExceptionLoggingReader(retryReader, logger);
            var duration      = new TimeSpan(0, 0, 10);
            var cachingReader = new CachingReader(loggingReader, duration);
            var viewModel     = new PeopleReaderViewModel(cachingReader);

            Application.Current.MainWindow = new MainWindow(viewModel);
        }
        private static void ComposeObjects()
        {
            //With dependency injection we can switch to another service easily
            //var reader = new ServiceReader();
            //var reader = new CSVReader();

            //Adding cache functionality with dependency injection
            var wrappedReader = new ServiceReader();
            var reader        = new CachingReader(wrappedReader);
            var viewModel     = new PeopleViewModel(reader);

            Application.Current.MainWindow = new PeopleViewerWindow(viewModel);
        }
Пример #9
0
        private static void ComposeObjects()
        {
            var reader      = new ServiceReader();
            var delay       = new TimeSpan(0, 0, 3);
            var retryReader = new RetryReader(reader, delay);
            var logFilePath = AppDomain.CurrentDomain.BaseDirectory +
                              "ExceptionLog.txt";
            var logger        = new FileLogger(logFilePath);
            var loggingReader = new ExceptionLoggingReader(retryReader, logger);
            var cachingReader = new CachingReader(loggingReader);
            var viewModel     = new PeopleViewModel(cachingReader);

            Application.Current.MainWindow = new MainWindow(viewModel);
        }
Пример #10
0
        private static void ComposeObjects()
        {
            //ServiceReader reader = new ServiceReader();

            //CSVReader reader = new CSVReader();

            //SQLReader reader = new SQLReader();

            ServiceReader   wrapperReader = new ServiceReader();
            CachingReader   reader        = new CachingReader(wrapperReader);
            PeopleViewModel viewModel     = new PeopleViewModel(reader);

            Current.MainWindow = new PeopleViewerWindow(viewModel);
        }
Пример #11
0
        private static void ComposeObjectsForViewer()
        {
            // var reader = new ServiceReader();  //First Data Reader
            //var reader = new CSVReader();    //Second Data Reader
            var sqlReader     = new SQLReader();
            var serviceReader = new ServiceReader();

            var reader = new CachingReader(sqlReader);


            var mainviewModel = new PeopleViewModel(reader);

            Application.Current.MainWindow       = new PeopleViewerWindow(mainviewModel);
            Application.Current.MainWindow.Title = "Saja Makes the Dependency Injection Happen in WPFPlusASPNetCore 2020";
            Application.Current.MainWindow.Show();
        }
Пример #12
0
        private static void ComposeObjects()
        {
            // Data Reader
            var readerUri = new ServiceReaderUri("http://localhost:9874");
            var reader    = new ServiceReader(readerUri);

            // Retry Function
            var delay       = new TimeSpan(0, 0, 3);
            var retryReader = new RetryReader(reader, delay);

            // Exception Logging Function
            var logFilePath   = AppDomain.CurrentDomain.BaseDirectory + "ExceptionLog.txt";
            var logger        = new FileLogger(logFilePath);
            var loggingReader = new ExceptionLoggingReader(retryReader, logger);

            // Caching Function
            var cachingReader = new CachingReader(loggingReader);

            var viewModel = new PeopleViewModel(retryReader);

            Application.Current.MainWindow = new MainWindow(viewModel);
        }