可观察类的性能影响

时间:2016-06-14 07:16:00

标签: java android observable

我目前正在开发Android应用。对于我的所有d,我使用相同的var brd = JXG.JSXGraph.initBoard('box', {boundingbox: [-10, 10, 10, -10], axis:true, showcopyright:false}), a = brd.create('slider',[[2,-5],[7,-5],[-5,1,5]], {name:'a'}), b = brd.create('slider',[[2,-6],[7,-6],[-5,0,5]], {name:'b'}), c = brd.create('slider',[[2,-7],[7,-7],[-5,0,5]], {name:'c'}), f = brd.create('functiongraph',[ function(x){ return a.Value()*x*x + b.Value()*x + c.Value(); }]), d = brd.create('point',[ function() { return (4*a.Value()*c.Value()-b.Value()*b.Value())/(4*a.Value()); }, function() { return -1*b.Value()/(2*a.Value()); }]); 课程。现在我需要一些孩子Models成为Base个班级。此时为我实现此最简单的方法就是使Models类扩展Observable。我这样做了,一切都很好。

我想知道这对系统是否有任何性能影响。请注意,这也必须在较旧的设备上运行。

我的另一个选择是创建一个新的Base,它看起来与我此时的Observable相似,唯一的区别就是会扩展Base和其他没有。

1 个答案:

答案 0 :(得分:1)

我的。如果遇到性能问题,您应该只担心性能问题。或者,如果你真的对理解表现感兴趣......那么你必须深入研究整个主题。你可以做的最糟糕的事情:提出天真假设这个或那个可能会如何影响绩效。

换句话说:所有类扩展Observable的事实本身并不会导致“性能问题”。但是:这非常表明你可能有设计问题

您不会将继承用于便利(也就是代码重用)。您使用继承来定义抽象,即现实模型。可以让你随着时间的推移改变一切的东西;同时保护您不会无意中改变现有行为。

换句话说:不要专注于Base extended Observerable的绝对不相关的“性能”方面。你应该更专注于提出合适的声音OO设计;例如,从SOLID原则推动。