1. A system that supports the use of different types of dependency injection and other software modeling or software development frameworks, comprising: a computer, including a processor and memory; a service provider interface (SPI) which allows for plugin of one or a plurality of framework model plugins, wherein each plugin introduces constructs and relationships between those constructs, as defined by that particular plugin's corresponding modeling or development framework, and which can be exposed as categories of component; an application provider interface (API) which provides a plurality of functions that allow for machines or implementations to be specified, including specifying that objects be linked to categories of component defined by the SPI; and wherein the system dynamically creates a model based on the constructs and relationships introduced by the SPI plugins, which model can then be accessed via the API and used to link objects and model or develop software applications.