For java programmers http://www.onjava.com/lpt/a/2856
For .net programmers http://www.ondotnet.com/lpt/a/2634
1. Dynamically instantiate classes using symbolic names 2. Provide for backward compatibility using interface centric programming 3. Provides a workunit/task level abstraction 4. Prevents from creating factories for every object type explicitly 5. Uses an underlying configuration interface so that the class definitions can be kept anywhere 6. The second most important API of Aspire after the configuration service 7. All configurability of Aspire hinges on the factory service