Плющ, конструкторы и фабрики
Обдумываю одну рабочую шизу и есть там один момент - нужно создавать объекты, реализующие один и тот же интерфейс, но немного отличающиеся. Самое простое решение - это передать функцию, которая из параметров создаст нужный объект и вернет его. То бишь фабрику. В связи с этим меня начало плющить: а зачем в дополнение к конструктору объекта еще создавать и статический метод-фабрику, если они делают одно и то же? Но при этом метод можно передать в виде функции, а конструктор нельзя.
no subject
На С# - передаю функцию, там это безальтернативный способ параметризации, а уж если нужно замыкание каких-то дополнительных параметров, так и вообще.
Рефлекшн стараюсь использовать по минимуму, оно вызывает ощущение что я из C# делаю питон :)