The SerializationContextImpl's public interface is almost exactly SerializationContext 
(constructors and one utility method being the only exceptions), and 
DeserializationContextImpl's interface (except for contstructors) is exactly 
DeserializationContext.  So this really isn't a case where there are a lot of 
implementation-specific public methods.  I still think this is a case of architectural 
overkill, but since the only other people commenting on this seem to think otherwise, 
I'll drop the argument.

--Glen

> -----Original Message-----
> From: Glyn Normington [mailto:[EMAIL PROTECTED]]
> Sent: Friday, May 10, 2002 4:27 AM
> To: [EMAIL PROTECTED]
> Subject: RE: SerializationContext/DeserializationContext cleanup?
> 
> 
> 
> I vote -1 to folding the SerializationContext and 
> DeserializationContext
> interfaces into their implementation classes since these 
> interfaces seem to
> be part of the interface to the encoding subsystem.
> 
> Building subsystem interfaces using java interfaces rather than java
> classes helps to reduce the coupling between subsystems. For 
> instance, a
> class which implements a subsystem interface may have a 
> method which is of
> no concern to other subsystems. If the subsystem spans more 
> than one java
> package, the method needs to be public. Then having a 
> separate interface
> means that the method need not be exposed to other 
> subsystems. (Granted, if
> the subsystem equates to a java package, you can use package scope to
> achieve the same ends, but package scope isn't obvious due to 
> the lack of a
> keyword to denote it and packages are not ideal for 
> constructing subsystems
> since they don't nest.)
> 
> Glyn
> 

Reply via email to