From: Giovanni P. Deretta (lordshoo_at_[hidden])
Date: 2005-04-24 22:46:32
David Abrahams wrote:
>>- C++ is a static language, let's leave these niceties to more dynamic
>>languages. I have found myself weeks hunting a bug in the http code
>>because i thought that it would be cool if i could access http
>>properties using a map instead of proper accessor functions. I spent
>>weeks hunting persistent connection bug. It was a simple typo inside a
>>http property string that would have been caught immediately by the
>>compiler if i were using functions or costants .
> Right. If you need to do dynamic polymorphism, add a layer of type
> erasure in a separate component. I think that's what you meant by
> "external polymorphism," but that's not a great term because it
> doesn't distinguish the static from the dynamic.
Yes, I meant type erasure. I used the term "external polymorphism
pattern" because it is described with this name in the ACE patterns
> That's a very convincing argument.
> I don't know much about networking, but from what I've heard here I
> like your design instincts very much. I'll try to look at your docs.
> Is this in the same design space as a "sockets library?"
Yes, it is, mostly. It doesn't really have a socket concept and it also
deals with disk i/o, thus it is not completelly network centric.
-- Giovanni P. Deretta
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk