Builder: Tiny Utility Library to Add a Builder API to Classes
Vijay Nayar
madric at gmail.com
Fri Jan 6 09:19:30 UTC 2023
On Thursday, 5 January 2023 at 23:31:36 UTC, Vladimir Marchevsky
wrote:
> On Thursday, 5 January 2023 at 21:48:40 UTC, Vijay Nayar wrote:
>>
>> 2. Using a constructor with many arguments.
>> ```
>> A a = new A("Bob", 20, false, true);
>> ```
>>
>> This approach can construct arguments inline, such as during a
>> function call, however, the arguments are not labeled, making
>> it easy to get the order wrong or for the meaning to be
>> unclear.
>
> Hopefully we'll finally have named arguments. Considering they
> were accepted to language more than two years ago - maybe in
> the next century...
Named arguments would definitely obviate this tool, but in the
meanwhile, this tool basically lets you achieve the same
objectives in terms of single-expression construction and clearly
labeled arguments. I guess one extra advantage of the `builder`
library is that you also don't have to bother writing a
constructor at all and can just use the default one.
More information about the Digitalmars-d-announce
mailing list