One of the Dart criticized features are named and factory constructors.
There are opinions (from dependency injection people), that constructors should be simple and just assign some fields and the object graph creation is a responsibility of factories.
There are also some argues against the static methods.
It seems, that Dart constructors bring complexity to constructors. You can not even have a lot of named constructors to create the object in a various ways, you can even have a static factory supposed to construct object of other type than the class it is in.
So, what is the philosophy of Dart and how does it relate (or respond) to the Dependency Injection and no-static state philosophies?