It is time to sub-divide a platform I’m developing and I’m looking for advice on how to handle cross-component dependencies. I spose there a many cases, so I’ll give an example.
I have an Address class that I want to make visible to developers. It is also referenced by classes in my.Contacts, my.Appointments, and my.Location packages – each of which I want to be separately compiled, jar-d, and delivered. Of course I want Address to be a single class – an Address works across these platform components transparently.
How should Address be packaged, built, and delivered?
Thanks!
Two thoughts:
Addresssounds like a common component that can be used in different deliverables and so should be available in some common or core libraryAddressinterface, and the implementation can be provided separately (e.g. provide anAddressinterface and anAddressImplimplementation). This will reduce the amount of binding between the core library and the library your developers will develop.