我对.Net MVC还是很陌生,并且我目前正在开发一个需要在某些时候绘制一些图表的应用程序。这些图表可以具有不同的类型(饼图,条形图,折线图等)。这些图表由一个meta类定义,其实例存储在我的数据库中(名称,数据源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 for Jquery绘制东西。
所以我的问题是,有没有办法实现draw()
函数? (我相信我不应该在模型中实现任何功能,对吧?)
谢谢您的帮助!