AS3 OOP可视化逻辑 - 链接过滤器和数据源
我试图在ActionScript 3.0中可视化测验的结果。
我想要的一些输入是如何以灵活的OOP方式将“过滤器”(附图中的右上角)与数据源最好地联系起来。AS3 OOP可视化逻辑 - 链接过滤器和数据源
结果数组现在包含正确答案的数量和有关参加测验的人员的元数据。元数据可以是离散的(性别)或连续的(年龄)。
results = [{name:“Lisa”,correct:5,sex:0,age:52},{name:“Peter”,correct:3,sex:1,age:32} ...]
如何告诉箱子,例如,当我更换过滤器时更改颜色? 每个box对象应该保存自己的数据,还是应该有某种控制器监听过滤器对象来调度事件,然后调用box.setColor方法? 我有什么选择?
我觉得一般的想法是让事情尽可能的灵活每个StudentBox你循环,今天你要使用的箱式可视化,明天你可能需要另一种类型。要让每个包含数据的盒子对象看起来都非常严格,因为它只给出一个选项。我会尽量保持与视图分离的逻辑尽可能与一个处理数据解析的类以及另一个类或一组不知道数据的类相关,并且只显示颜色框,饼图,3D图形etc ...
我会首先创建一个类StudentBox保持各学生的数据,并有一个名为changeColor方法,它接受一种颜色,改变StudentBox颜色,在颜色传递的。然后我会在AS3中创建一个数组或矢量,它包含您创建的所有学生。
这之后,您将添加一个侦听过滤器按钮来检测被点击时,他们并让他们调用一个函数,它执行以下操作:
1)循环遍历数组中的所有StudentBoxes抱在一起StudentBox
2)通过,改变StudentBox取决于它的过滤器颜色