Я знаком с идеей и преимуществами статического фабричного метода, как описано в книге Джошуа Блоха Эффективная Java :
Теперь я пытаюсь объяснить статические фабричные методы для тех, кто изучает Java и принципы объектно-ориентированного программирования. Лучше всего она учится на конкретных сценариях, а не на абстракциях. Если она сможет увидеть образец в действии, решая какую-то проблему, она ее поймет. Но ей труднее читать абстрактный список характеристик, подобных приведенным выше, чтобы понять, как применять шаблон.
Не могли бы вы помочь мне придумать реалистичный пример использования статического фабричного метода, который проясняет его преимущества, но что по-прежнему достаточно просто, чтобы показать кому-нибудь во вводном классе Java?
У этого человека действительно есть опыт программирования на PL / SQL, но он так и не успел изучить шаблоны ООП.