System.Web

On Wed, Mar 9, 2011 at 9:07 PM, Chris Tavares <[email protected]>wrote:

> Hrm... is it really, though? Consider, what’s the actual contract on the
> base class that derived classes have to adhere to?
>
>
>
> Well, if CanRead returns false, calls to Read will throw. If CanRead
> returns true, Read reads stuff.
>
> If CanWrite returns false, calls to Write will throw. If it returns true,
> Write will write stuff.
>
>
>
> Etc.
>
>
>
> You can argue all you want about whether the interface is correctly
> factored (although the .NET Framework design guidelines book has some very
> interesting discussion on why the design is the way it is) but I don’t think
> you can really say that it’s a Liskov violation.
>
>
>
> -Chris
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Kelly Leahy
> *Sent:* Wednesday, March 09, 2011 6:32 PM
> *To:* [email protected]
> *Subject:* Re: Your Favorite Liskov Violations Examples in .NET
>
>
>
> The entire way that streams work is an lsp violation, with read/canread....
>
> On Mar 10, 2011 2:29 AM, "Chris Bilson" <[email protected]> wrote:
> > Favorite? I would't say I like it, but this is the classic:
> >
> > ICollection<string> a = new [] { "go ahead and try to add
> something...after
> > all, I implement ICollection<>" ];
> > a.Add("ha ha!");
> >
> > --c
> >
> >
> > On Wed, Mar 9, 2011 at 16:46, Aeden Jameson <[email protected]>
> wrote:
> >
> >> What are your favorite examples of violations of Liskov in the .NET
> >> framework?
> >>
> >> --
> >> Cheers,
> >> Aeden
> >>
> >> Blog : http://aedenjameson.blogspot.com/
> >> Linked In: http://www.linkedin.com/in/aedenjameson
> >> Blah Blah Blah: http://www.twitter.com/daliful
> >> Facebook : http://www.facebook.com/aeden.jameson
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "Seattle area Alt.Net" group.
> >> To post to this group, send email to [email protected].
> >> To unsubscribe from this group, send email to
> >> [email protected].
> >> For more options, visit this group at
> >> http://groups.google.com/group/altnetseattle?hl=en.
> >>
> >>
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "Seattle area Alt.Net" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected].
> > For more options, visit this group at
> http://groups.google.com/group/altnetseattle?hl=en.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Seattle area Alt.Net" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/altnetseattle?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Seattle area Alt.Net" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/altnetseattle?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Seattle area Alt.Net" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/altnetseattle?hl=en.

Reply via email to