Shapira, Yoav wrote:

Howdy,



Well, before I commit to Java 1.2 Collections, I'd like to explore the
possibility of doing away with Vector and List, Hashtable and Map. Why
not create some semantically meaningful interfaces of our own that could


then be backed by implementations that adhere to whatever JDK we want?
What do we gain by using Collections?



You gain several things from using java.util's interfaces, because
they're a common standard in the java world:
- More XML-RPC users are familiar with the interfaces, reducing the
barrier to usage,
- More XML-RPC users/developers can work with these interfaces, reducing
the barrier to patch/enhancement contributions
- Less code is specific to XML-RPC, therefore the XML-RPC distribution
is smaller, simpler, and less buggy
- More XML-RPC implementations can directly interact with these
interfaces without custom code by the user, as interfaces such as Map
and List have direct equivalents in other programming languages.



Good points.


On the other hand, what would you gain from defining your own interfaces
for these structures? Note that XML-RPC would be free to use whatever
implementation, including a custom one not part of java.util, for the
Map/List interface.



The use of the Map and List interfaces in the core would prevent an applet module or a J2ME module
from sharing the core code with more fully featured modules. That's really what I'm trying to address.
Perhaps we could use those interfaces internally and continue to expose java.util.* stuff via the APIs.


Having patched several bugs in the applet code as well and working much more in the "core", I think
refactoring the applet code to use the core is long overdue; I have mentioned that in bugzilla a few
times. I am just brainstorming on how to accomplish it while improving the overall quality of the
project.


Just thoughts on this issue ;)  I love how light and small XML-RPC is
already.

As many others do as well, I'm sure. I personally have little pressure to keep it light and small since
I have used it primarily in server apps and desktop clients, so its up to you guys to keep me honest! :)


--
Ryan Hoegg
ISIS Networks
http://www.isisnetworks.net

Reply via email to