У меня есть источник данных IDataProvider у него есть событие прихода новых данных NewData. На основе NewData мне нужно построить различные типы графиков (к примеру Гистограммы, Графики, Круговые диаграммы и т.д.). Вопрос, какой шаблон лучше всего использовать. В данный момент я придумал такую реализацию.
| Код | class ChartBuilder { private IDataProvider dataProvider; private List<PieChart> pieChartCollection; private List<HistogramChart> histogramChartCollection; dataProvider.NewData += new Action<Data>(PieChartDataProcessor); dataProvider.NewData += new Action<Data>(HistogramChartDataProcessor); public ChartBuilder(IDataProvider dataProvider) { this.dataProvider = dataProvider; this.pieChartCollection = new List<PieChart>(); this.histogramChartCollection = new List<HistogramChart>(); } public PieChart GetPieChart() // Запрашиваем круговой график { } void PieChartDataProcessor(Data data) // Подписываемся на событие прихода новых данных от дата провайдера и используем данные для обновления графика { } public HistogramChart GetHistogramChart() { } void HistogramChartDataProcessor(Data data) { } public event Action ChartUpgrade; // Событие сигнализирующее об обновлении графика } Проблема в том что количество графиков со временем будет только увеличиваться. Да и данная реализация выглядит очень убого, так и хочется припаять какой нибудь шаблон проектирования но какой?
|
|