Re: Figuring out easier readonly interfaces

On Thu, Oct 3, 2013 at 1:55 PM, Mark S. Miller <erights@google.com> wrote:
> On Thu, Oct 3, 2013 at 1:28 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
>> On Thu, Oct 3, 2013 at 12:33 PM, Mark S. Miller <erights@google.com>
>> wrote:
>> > You forgot to name the readonly one -- it specializes DOMRect by
>> > guaranteeing that its instances not provide the ability to mutate the
>> > underlying DOMRect. Given the other names, DOMRectReadOnly or
>> > DOMReadOnlyRec
>> > (did you really mean to omit the "t"?) seem like fine names for the
>> > readonly
>> > subtype.
>>
>> In Roc's explanation, the readonly one (you can't change the values,
>> but something else might be able to) is the common superclass.  As he
>> argued, I'm pretty sure this satisfies LSP - an immutable class is a
>> valid subclass of a readonly one (you lose nothing, and gain the
>> ability to depend on the values staying constant), and a mutable class
>> is also a valid subclass of a readonly one (again, you lose nothing,
>> but you gain the abiilty to alter the values yourself).
>
> You lose the inability to mutate. If this inability to mutate was not part
> of the intended contract of the superclass, it should not use the term "read
> only".

I'm not particularly interested in making the name less readable to
make the name *itself* better match LSP.

~TJ

Received on Thursday, 3 October 2013 21:07:28 UTC