static void Main() { float temperatureInput, stateOfChargeInput, chargeRateInput; ResourceManager resourceInfo = GetLanguageInput(); CultureInformation.SetCultureInformation(resourceInfo); temperatureInput = GetTemperatureUnit(); stateOfChargeInput = GetStateOfChargeInput(); chargeRateInput = GetChargeRateInput(); BatteryExamine batteryExamine = new BatteryExamine(); bool result = batteryExamine.BatteryIsOk(new BatteryFactors(temperatureInput, stateOfChargeInput, chargeRateInput)); BatteryParameterBreachSubject batteryParameterBreachSubject = new BatteryParameterBreachSubject(); AccumulateBreachParameter accumulateBreachParameter = new AccumulateBreachParameter(); batteryParameterBreachSubject.Attach(accumulateBreachParameter); batteryParameterBreachSubject.BatteryFeaturesBreachCheck(new BatteryFactors(temperatureInput, stateOfChargeInput, chargeRateInput)); Dictionary <string, string> batteryAlertMessages = accumulateBreachParameter.GetReport(); IReports iReportsCosoleLogger = new ConsoleReportLogger(); BatteryReport batteryReportWithConsoleLogger = new BatteryReport(iReportsCosoleLogger); batteryReportWithConsoleLogger.ReportLogger(batteryAlertMessages); IReports iReportsDummyLogger = new DummyReportLogger(); BatteryReport batteryReportWithDummyLogger = new BatteryReport(iReportsDummyLogger); batteryReportWithDummyLogger.ReportLogger(batteryAlertMessages); }