具有策略模式的单例

EFT*_*FTH 6 java singleton strategy-pattern

这是策略界面的外观

public interface Strategy
{
    public void doStuff(Object o);
}
Run Code Online (Sandbox Code Playgroud)

这是一个可能的实现

public class StrategyImpl implements Strategy
{
    @Override
    public void doStuff(Object o)
    {
        //Do things with o
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,使用StrategyImpl实现可能有数百个对象。应该为所有这数百个对象创建一个StrategyImpl的新实例,还是有更好的方法?
我在这里已经读过,不应使用单例来节省内存,但是似乎没有必要创建数百个相同的实例。也许最好的解决方案不是单例,而是某种方式。

我应该如何制定策略?我是否应该不理会这些类型的问题?

Tom*_*cak -1

通常新的实现应该会更好。单例很大程度上基于策略的实现,条件是不应有私有属性。这对于更小、更简单的策略来说很有效,但我不建议依赖它。关于为什么单例通常不好的更多信息可以在这里找到