我目前正在开发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
和其他没有。
答案 0 :(得分:1)
我的。如果遇到性能问题,您应该只担心性能问题。或者,如果你真的对理解表现感兴趣......那么你必须深入研究整个主题。你可以做的最糟糕的事情:提出天真假设这个或那个可能会如何影响绩效。
换句话说:所有类扩展Observable的事实本身并不会导致“性能问题”。但是:这非常表明你可能有设计问题。
您不会将继承用于便利(也就是代码重用)。您使用继承来定义抽象,即现实模型。可以让你随着时间的推移改变一切的东西;同时保护您不会无意中改变现有行为。
换句话说:不要专注于Base extended Observerable的绝对不相关的“性能”方面。你应该更专注于提出合适的声音OO设计;例如,从SOLID原则推动。