我不是一个“死硬”的编码器,我需要一些建议。我应该多久创建一个类的新实例?
我正在开发一个网站,用户可能会搜索商店或品牌。
我创建了一个类,名为搜索和商店。
执行搜索有两种方式:“jQuery Live Search”和“正常搜索”。
在2个字符以上输入的每个字符都会触发实时搜索。所以如果你输入5个字符,搜索会执行3次。如果您要查找的商店位于下拉列表中,则可以点击商店,商店页面将被加载。
其他搜索是在输入3个或更多字符后单击搜索按钮时。
执行搜索时,都会将下面的代码执行
$search = new Search();
$result = $search->search($_GET);
每个商店页面加载$store = new Store()
执行时间。
我的问题是这样的:
假设我得到一个非常成功的网站,我有不要蜘蛛每小时100个用户。每个用户至少搜索3次并查看至少5个商店。
这意味着300到900个搜索对象每小时创建500个存储对象。
创建如此多的新对象是不好还是不好?
我读过一些关于Singleton
,但许多建议反对这一点。
我应该怎么做才能达到最佳性能?任何特定的设计模式,我应该使用?
创建对象应该是最不关心的问题。我不使用PHP,但是Java和C#都可以每秒创建数十万个对象(实际上,对于最平凡的对象来说,其实数百万)。或者考虑像Python这样的语言,甚至整数是对象*(有些被缓存)。即使抛出两个因素十,你仍然很安全。所以,请。设计“良好”并*运行绩效分析*。 – 2011-03-23 20:40:34
@pst非常好的一点。以表演的名义犯下了很多罪。如果你的代码编写的很好,经常重构,你将总是有一个很好的开始做性能调整。你可以做负载测试来发现瓶颈。 – 2011-03-23 20:47:54
@pst - 谢谢。我只是一名前端开发人员,从来不必担心这些事情。很高兴知道创建对象不会窒息服务器。我会尽我所能设计,并在时间到时进行性能测试:) – Steven 2011-03-23 20:53:48