Just to clarify - is the scope of assemble() to avoid big constructors
or is there another usecase for it?


That's definitely one of the reasons.

Another is to allow the API to evolve over time without necessarily breaking
people's code when a new dependency is added to the scenarios. It separates
the framework related initialization from the user related initialization.

Kind of orthogonal to that is the super() style of initalization. This is
very restricting because you can't do much before super, which often leads
down the path of having lots of static helper functions and initialization
blocks. Can get messy quickly.

Though I have to admit, I'd prefer the method to be called something like
specify() instead of assemble().

-j

Reply via email to