[Home] [By Thread] [By Date] [Recent Entries]


Michael Kay wrote:


> You know the answer to your question. But it doesn't address my point. You
> claimed that defining the interface to accept Source was no better than
> defining it to accept Object. I pointed out that it was better, because
> defining it as Source would catch many type errors. 

I think the Python folks have pretty well convinced me that this doesn't 
help nearly as much as I used to think. I find it hard to imagine a case 
where I'd pass the wrong object to a transform method, and it would 
survive more than the first test run. These sorts of errors are caught 
so quickly they really don't need special compiler support to help them.

Marker interfaces have their places. Serializable doesn't bother me, for 
instance, because whether an object is serializable or not. An object 
that implements it is probably serializable. An object that doesn't 
isn't. Yes, I know there are exceptions to this; but that's basically 
how it works. Declare an object Serializable and ObjectOutputStream will 
try to serialize it. Declare that an object implements Source, and 
there's little a transformer can do.

-- 
Elliotte Rusty Harold  elharo@m...
XML in a Nutshell 3rd Edition Just Published!
http://www.cafeconleche.org/books/xian3/
http://www.amazon.com/exec/obidos/ISBN=0596007647/cafeaulaitA/ref=nosim

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member