I'm not impressed by the "too many constructor arguments" argument. But I'm even less impressed by both of these builder examples. Perhaps its because the examples are too simple to demonstrate non-trivial behavior, but the Java example reads like a convoluted fluent interface, and the C# example is just a roundabout way to implement properties. Neither example does any form of parameter validation; a constructor would at least validate the type and number of arguments provided, which means the constructor with too many arguments wins over both of these examples. — Robert Harvey 1 min ago
user15026
user15026