At 06:38 PM 1/11/05 -0500, Clark C. Evans wrote: >| To implement a Liskov violation with my proposal, you do exactly the same >| as with your proposal, *except* that you can simply return None instead >| of raising an exception, and the logic for adapt() is more >| straightforward. > >I think I prefer just returning None rather than raising a >specific exception. The semantics are different: None implies that >other adaptation mechanisms (like a registry) could be tried, while >LiskovException implies that processing halts and no further >adaptation techniques are to be used. In this case, None is >the better choice for this particular case since it would enable >third-parties to register a wrapper. > >Overall, I think both you and Alex are now proposing essentially >the same thing... no? Yes; I'm just proposing shuffling the invocation of things around a bit in order to avoid the need for an exception, and in the process increasing the number of possible customizations a bit. Not that I care about those customizations as such; I just would like to simplify the protocol. I suppose there's some educational benefit in making somebody explicitly declare that they're a Liskov violator, but it seems that if we're going to support it, it should be simple.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4