作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这是策略界面的样子
public interface Strategy
{
public void doStuff(Object o);
}
这是一个可能的实现
public class StrategyImpl implements Strategy
{
@Override
public void doStuff(Object o)
{
//Do things with o
}
}
现在,我可能有数百个使用 StrategyImpl 实现的对象。是否应该为所有这数百个对象创建一个新的 StrategyImpl 实例,还是有更好的方法?
我读过here不应该使用单例来节省内存,但创建数百个相同的实例似乎真的没有必要。也许最好的解决方案不是单例,而是类似的东西。
我应该如何制定策略?我不应该为这些类型的问题而烦恼吗?
最佳答案
通常新的实现应该更好。 Singleton 在很大程度上基于策略的实现,并且应该有条件,例如没有私有(private)属性。这适用于更小、更简单的策略,但我不建议依赖它。可以找到关于为什么单例通常不好的更多信息 here
关于java - 具有策略模式的单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22879156/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!