[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OzoneProxy doesn't implement OzoneRemote?



Falko Braeutigam wrote:

> Making OzoneProxy implement OzoneRemote would change the meaning of OzoneRemote.
> But wouldon the other hand allow to write code like your example. Do you
> think that avoiding the explicit cast is a good reason to change meaning of
> OzoneRemote?

Well, if I understand you, the meaning of Remote is twofold :-
1) mark interfaces for OPP
2)  provide an interface that subclasses of both Compatible and Proxy inherit from.

The first of the meanings would not change - OPP still works just fine with
Compatible and Proxy implementing Remote.

The second of the meanings just makes Remote more logical :-
2) provide an interface that both Compatible and Proxy inherit from.

Since you shouldn't ever have base objects of these types in the database, it makes
no practical difference in meaning. But it would now be possible to work with
Compatibles and Proxies objects in terms of the base class, which has advantages
when you want to deal with DB objects as generic objects, and use reflection, to
discover their properties.

Casts from Proxy/Compatible to Remote should always succeed anyway - why force the
programmer to put them in, for the sake of a two word change? :-)
Martin