Disable GC entirely

Paulo Pinto pjmlp at progtools.org
Wed Apr 10 10:50:14 PDT 2013


Am 10.04.2013 18:08, schrieb Andrei Alexandrescu:
> On 4/10/13 8:44 AM, Manu wrote:
>> On 10 April 2013 22:37, Andrei Alexandrescu
>> <SeeWebsiteForEmail at erdani.org <mailto:SeeWebsiteForEmail at erdani.org>>
>> wrote:
>>
>>     On 4/10/13 2:02 AM, Manu wrote:
>>
>>         I do use virtual functions, that's the point of classes. But most
>>         functions are not virtual. More-so, most functions are trivial
>>         accessors, which really shouldn't be virtual.
>>
>>
>>     I'd say a valid style is to use free functions for non-virtual
>>     methods. UFCS will take care of caller syntax.
>>
>>
>> Valid, perhaps. But would you really recommend that design pattern?
>> It seems a little obscure for no real reason. Breaks the feeling of the
>> OO encapsulation principle somewhat.
>
> It may as well be a mistake that nonvirtual functions are at all part of
> a class' methods. This has been quite painfully seen in C++ leading to
> surprising conclusions: http://goo.gl/dqZrr.
>
>> I've started using UFCS more recently, but I'm still wary of overuse
>> leading to unnecessary obscurity.
>
> UFCS is a "slam dunk" feature - simple and immensely successful. The
> only bummer is that UFCS arrived to the scene late. If I designed D's
> classes today, I'd only allow overridable methods and leave everything
> else to free functions.
>
>
> Andrei

Everyone seems to be having them, it is as if after realizing that in 
many cases aggregation is better than inheritance, multi-methods is also 
a better way to add attach behaviour to objects.

--
Paulo


More information about the Digitalmars-d mailing list