Temporary suspension of disbelief (invariant)
Rainer Deyke
rainerd at eldwood.com
Tue Oct 26 19:42:33 PDT 2010
On 10/26/2010 20:16, Walter Bright wrote:
> Rainer Deyke wrote:
>> On the other hand, if the object itself calls it own public member
>> functions, then no invariants should be checked. Not being able to call
>> public member functions while the object is temporarily in an invalid
>> state is too strict. This is a problem that I actually ran into while
>> using D, and one of the reasons for why I stopped using invariants.
>
> A solution is to redesign what the class considers public and private. A
> public member can be a shell around a private implementation, and other
> class members can call that private implementation without invoking the
> invariant.
Writing wrapper functions is a waste of my time. Auto-generating
wrapper functions through some sort of meta-programming magic is still a
waste of my time, since the process cannot be completely automated.
--
Rainer Deyke - rainerd at eldwood.com
More information about the Digitalmars-d
mailing list