in reply to perl module structure

Yes, the Java environment is so fundamentally different from Perl that concepts will not transfer easily nor directly from one to another. I would look instead at venerable Perl implementations – DBI very specifically comes to mind. But also, "keep your boots on the ground," which means always knowing what and where the ground is. There is such a thing as over-abstraction, and so your design decisions need to keep concrete implementations in mind. Also consider the many ways in which JSON functionality have been tackled – notice how there are both XS and Pure Perl implementations of things. Also notice how sometimes the onus is upon the individual package consumer to choose a concrete package, whose API might merely be similar among several different concrete alternatives. It is rarely productive to go so far as to say that apples and oranges are abstracted-away as fruits. Perhaps it is good enough to implement several packages with a mostly-identical API and leave it to the consumer to decide which one to use, expecting him also to perhaps take advantage of the slight-differences that you have thoughtfully provided.

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.