11-12-05 07:45 AM
Hi Jose,
2005/11/11, Jose Alberto Fernandez <jalberto-FQMVDHFwfny6lNtOUNzE6A@public.gmane.org>:[vbcol
=seagreen]
>
> Niklas provided a preconstructed IoFilterChain, I am passing the code to
> construct the IoFilterChain. That is the only difference. Should the perso
n
> doing the binding know which filters are needed for a protocol provided in
> some other package? Or should that be expressed as part of the code in the
> package providing the protocol implementation?
>[/vbcol]
Now I see the main difference between the two approaches. Let's reanalyze
the two:
* Jose's approach
The problem here is that IoFilterChain contains some transport-type-specific
code so we cannot simply create and construct it. So a new interface
'IoFilterChainBuilder' (I think 'builder' is better than manager here) is
introduced.
* Niklas's approach
His approach has advantage over Jose's one because it doesn't introduce any
new interface that a user has to learn. But IoFilterChain contains some
transport-type-specific code as I mentioned above. We'll have to create an
implementation of IoFilterChain which is independent from any
transport-type. It should be easy and will be reusable because this chain
will be copied into the internal filter chain implementation.
I think Niklas's approach is better because it doesn't introduce a new
interface and Jose's approach can be implemented as a simple factory. WDYT?
--
what we call human nature is actually human habit
--
http://gleamynode.net/
[ Post a follow-up to this message ]
|