private static void ComposeCachedService() { var baseReader = new ServiceReader(); var cacheReader = new CachingReader(baseReader); var viewModel = new PetsViewModel(cacheReader); Application.Current.MainWindow = new PetViewerWindow(viewModel); }
private static void ComposeObjects() { var wrappedReader = new ServiceReader(); var reader = new CachingReader(wrappedReader); var viewModel = new PeopleViewModel(reader); Application.Current.MainWindow = new MainWindow(viewModel); }
private static void ComposeObjects() { var reader = new SQLReaderProxy(); var cachingReader = new CachingReader(reader); var viewModel = new PeopleViewModel(cachingReader); Application.Current.MainWindow = new MainWindow(viewModel); }
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); }
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); }
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); }
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); }
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); }
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(); }
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); }