Alan Parker
Posts: 1
Nickname: krona
Registered: Feb, 2008
|
|
Re: Physical Dependencies
|
Posted: Feb 22, 2008 1:40 AM
|
|
The product I work on has probably the worst dependency management you could imagine. Dependencies are not aligned along package boundaries, which means we have duplicate package paths in our jar files. This sometimes leads to classloader problems, for all we know we may still have classes that cannot load in our release builds. Not only that our build dependencies don't really match up with the dependencies we have in IntelliJ, but recently it looks like someone has made every module in IntelliJ depend on every other anyway. There seems to be no understanding whatsover that all this is wrong. For instance our datamodel (shared across applications) is broadly based on the ladder pattern, which is fine. Except the dependencies are split on roughly two levels, all implementations depend on all interfaces. This means you can depend on less abstract interfaces from abstract implementions (which should not be allowed). Quite often some idiot assumes that their code is the only client of certain implementation and just does an unchecked cast to the interface they want to use which then totally breaks another application (which of course they have not tested).
All in all it's a complete mess but it seems we're far to gone to re-architect the whole thing and besides the people in power don't have a clue anyway.
|
|