public static DataManager CreateDataManager(DataManagerType dataManagerType) // FactoryMethod { DataManager returnDataManager; string fileName = dataManagerType.ToString() + ".xml"; switch (dataManagerType) { case DataManagerType.Book: returnDataManager = new BookDataManager(fileName); break; case DataManagerType.City: returnDataManager = new CityDataManager(fileName); break; case DataManagerType.Phone: returnDataManager = new PhoneDataManager(fileName); break; case DataManagerType.User: returnDataManager = new UserDataManager(fileName); break; default: // TODO: Проверить как точно генерируется исключение. throw new Exception(); } //Заполняем название файла. return(returnDataManager); }
public void Initialize() { graphSettings = new GraphSettingsSettings("GraphSettingsSettings", diagram); switch (timeManagerType = GetTimeManagerType(diagram.TimeManager)) { case TimeManagerType.Continuous: timeManager = new ContinuousTimeManagerSettings("ContinuousTimeManagerSettings", diagram); break; case TimeManagerType.Shiftting: timeManager = new ShiftingTimeManagerSettings("ShiftingTimeManagerSettings", diagram); break; case TimeManagerType.Wrapping: timeManager = new WrappingTimeManagerSettings("WrappingTimeManagerSettings", diagram); break; default: throw new InvalidOperationException(); } switch (valueManagerType = GetValueManagerType(diagram.ValueManager)) { case ValueManagerType.Fixed: valueManager = new FixedValueManagerSettings("FixedValueManagerSettings", diagram); break; case ValueManagerType.Fitting: valueManager = new FittingValueManagerSettings("FittingValueManagerSettings", diagram); break; default: throw new InvalidOperationException(); } switch (dataManagerType = GetDataManagerType(diagram.DataManager)) { case DataManagerType.PerSecond: dataManager = new PerSecondDataManagerSettings("PerSecondDataManagerSettings", diagram); break; case DataManagerType.PerPixel: dataManager = new PerPixelDataManagerSettings("PerPixelDataManagerSettings", diagram); break; default: throw new InvalidOperationException(); } axisX = new AxisXSettings("AxisXSettings", diagram); axisY = new AxisYSettings("AxisYSettings", diagram); layouter = new LayouterSettings("LayouterSettings", diagram); propertyGrid.Refresh(); }