我正在设计一个仪表板来显示企业指标(目前与C#中的ASP.net 3.5 ),并寻求设计方面的建议。我不像以前那样习惯于在web应用中进行OOP。
在多对多关系中,不同的用户可以看到许多不同的指标。我将用户存储在本地SQL数据库中,当然,存储每个“指标”的元数据也是有意义的。这也为每一个提供了一种访问控制列表。每个指标可以有几个不同的图表,这些图表具有不同的设计(条、柱、饼、线或那些在不同y轴上具有不同系列的图表的组合,等等)。
这些图表可以通过编程方式设计,然后在运行时添加到ASP.net页面。如果有一个继承结构,可以继承一个空白图表的超类和不同的图表类型来扩展它,那就太好了。
该页面将选择给定用户有权查看的图表,然后生成这些图表。尽管如此,我仍然看到一些大的switch语句作为一个粗略的查找表,用于根据数据库中选择的信息实例化适当的子类。
有没有一种更有艺术性的方式呢?以某种方式在运行时提供类型声明?我是否应该将有关图表的所有样式信息移动到数据库中,并为系列、数据点、颜色等添加额外的表和列,其中单个chart类执行所有必要的查询并构建图表?谢谢。
发布于 2009-06-24 18:01:53
我意识到我正在寻找的东西可以通过动态类加载来解决。Michael Clarke在C# here中提供了一个很好的动态类加载示例。
基本上,我可以根据来自查询的字符串文件名来加载一个类。
发布于 2009-06-09 14:18:03
您可以将类的强名称存储在DB中,然后简单地创建类的一个实例。
因此,您可以存储如下内容,而不是对条形图进行排序
YourNamespace.UI.Charts.Bar就我个人而言,我不会太害怕仅仅存储一个图表类型,因为它为您提供了一层可能会有帮助的抽象层。
https://stackoverflow.com/questions/970208
复制相似问题