2011-01-20 3 views
0

Почему это стандартное соизволение для реализации классов Factory как singleton? Что не так:Java Factory Method/Singleton pattern

public class Factory{ 

public static createObjects(ObjectArgs arg){ 

return new Object(arg); 
} 
} 
---- 
public class FactoryClient{ 

public void someMethod(){ 

Factory.createObjects(ObjectArgs arg); 

} 
} 

ответ

0

Нет ничего плохого в создании статических методов фабрики, и я вижу это довольно часто.

* - То есть ничего плохого в том, что это не так с любым статическим методом (связь, отсутствие проверяемости и т. Д.). Рассмотрите возможность использования IoC Container и инъекции зависимостей вместо фабрик.

2

Это не одноэлементный. Это factory-method (это даже не фабрика). Нет ничего плохого в том, чтобы иметь такой заводской метод.