Last updated at 4:57 pm UTC on 16 January 2006
(see also DeltaModules (discontinued).)
A delta module represents the changes that a module "needs to apply" to other modules in order to "be happy". The typical example is adding a method to a class in another Module. Since a "pure" module can only contain "standalone classes" it will have to have delta modules (as children) for this.
A single delta module captures all changes that one module wants to apply to a single other module. So if our module wants to add two methods to two different classes in ONE other module, we get ONE delta module. But if those methods where to be placed in classes from TWO other modules we would get two delta modules - one for each other module that we need to apply changes to.
So if I find a module with 33 delta modules in it I get scared. :-) I can also tell that this module depends on 33 other modules in a non trivial way (trivial being a simple client of those other modules). If it had 3 delta modules I would be happier, and if it had none I would be real happy.
Well, over and out, perhaps someone got a bit wiser... :-)
– Göran Hultgren
How do you avoid race conditions as we've seen with the Windows .dll environment? That is, install A, then install B - but it breaks A because of some version issues.
Of course good code practices will prevent this from happening.