
Originally Posted by
annekat
You say:
From the client application point of view, the ICE proxy is never seen as such, only the semantics of the realized contract matters: having an underlying RPC-aware implementation is only a side-effect, and a design choice to better achieve some functional goals.
In essence, we must be able to write applications (not servants) that are unaware of ICE (through the quasi-exclusive use of interfaces) and then "plug" it into that framework: a required condition is then the ICE proxies really are semantically equivalent to the interfaces there are meant to represent.
Anyway, while the slice compiler would make that job a little easier by declaring the required implement clause, one can always wrap the proxy into another class: it is just tedious when dozens of such classes have to be created.