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