Я знаком с идеей и преимущества статического фабричного метода, как описано в Effective Java Джошуа Блоха:Реалистичный вариант использования для статического метода фабрики?
- фабричные методы имеют имена, так что вы можете иметь более одного фабричный метод с той же подписью, в отличие от конструкторы.
- Методам фабрики не нужно создавать новый объект; они могут вернуть ранее созданный объект. Это полезно для неизменяемых объектов или объектов ценности.
- Способы фабрики могут возвращать объект любого подтипа возвращаемого типа, в отличие от конструкторов.
Теперь я пытаюсь объяснить статические методы фабрики для тех, кто изучает принципы Java и OO. Она лучше учится на конкретных сценариях вместо абстракций. Если она увидит образец на работе, решая какую-то проблему, она это получит. Но ей сложнее прочитать абстрактный список характеристик, как указано выше, чтобы понять, как применять шаблон.
Можете ли вы помочь мне придумать реалистичный пример использования статического заводского метода, который делает его преимущества понятными, но который еще достаточно прост, чтобы показать кого-то во вводном классе Java?
У этого человека есть опыт программирования в PL/SQL, но он никогда не разбирался в учениях ООП.
Проверено это? http://stackoverflow.com/questions/929021/what-are-static-factory-methods-in-java –