A generic dependency injection library for Salesforce Apex, Visualforce, Lightning, and Flows.
Force DI is a dependency injection library for the Salesforce platform that enables runtime injection of dependencies in Apex, Visualforce, Lightning, and Flows. It helps developers decouple code, improve testability, and maintain cleaner architectures by separating implementations from their dependencies.
Salesforce developers and architects building complex applications who need to improve code modularity, testability, and maintainability across Apex, Visualforce, Lightning, and Flows.
It provides a unified dependency injection solution specifically tailored for the Salesforce ecosystem, supporting multiple platform technologies and enabling true unit testing through mocking.
Generic DI library with support for Apex, Triggers, Visualforce and Lightning
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables dependency injection across Apex, Visualforce, Lightning, and Flows, providing a unified solution for Salesforce development as highlighted in the key features.
Facilitates mocking and unit testing by allowing easy substitution of implementations, making code more testable as described in the README's focus on TDD.
Supports building modular trigger frameworks that leverage DI, promoting cleaner and more maintainable code per the project's key features.
Encourages separation of concerns and clean architecture, helping developers write decoupled and extensible code as stated in the philosophy.
Documentation is scattered across multiple blogs, videos, and external resources, requiring users to piece together information, which can slow onboarding.
Exclusively designed for the Salesforce platform, making it unsuitable for projects outside this ecosystem or those with multi-platform requirements.
Requires configuration across different Salesforce components and understanding of DI patterns, which can be non-trivial for teams new to the concept.