Я все еще довольно новичок в .Net MVC, и в настоящее время я разрабатываю приложение, которое в какой-то момент должно нарисовать некоторые диаграммы.Эти диаграммы могут быть разных типов (круговые, линейчатые, линейные и т. Д.).Эти диаграммы определяются мета-классом, экземпляры которого хранятся в моей базе данных (имя, URL источника данных [фактическая числовая информация поступает из API], тип).В настоящее время тип хранится в виде строкового тега, и переключатель в моем представлении определяет, какую функцию рисования вызывать (drawPieChart, drawBarChart и т. Д.).
Это многое напоминает мне о том, что шаблон проектирования состояний должен упростить (в этом случае «состоянием» будет тип диаграммы).Поэтому я начал реализовывать свои классы в моей ViewModel, но застрял, когда дело дошло до самой функции draw()
:
class PieChart : IChartType
{
public void draw(Chart ctx)
{
// how to draw stuff in the view ?
}
}
public class Chart
{
private IChartType chartType { get; set; }
public void draw()
{
this.chartType.draw(this);
}
}
public interface IChartType{
void draw(Chart ctx);
}
Я использую KendoUI для Jquery в представлении, чтобы рисовать вещи в настоящее время.
Итак, мой вопрос, есть ли способ реализовать функцию draw()
?(Я полагаю, что я не должен ничего внедрять в модель, верно?)
Спасибо за вашу помощь!