Automated Dependency Injector
Please read the full documentation at https://github.com/fschwaiger/matlab-dependency-injector.
This class automates the wiring of dependencies that are exposed in class constructors. It inspects the constructor argument names and finds appropriate dependencies via lookup files that you can define with each package. At any time, you can override dependencies, as shown in the example below.
% file +package/MyClass.m
classdef MyClass < handle
methods
function MyClass(firstDep, secondDep)
....
end
end
end
% file +package/InjectorConfig.m
classdef (Abstract, Hidden) InjectorConfig
properties (Constant)
firstDep = 'FirstDependencyClass'
end
methods (Static)
function value = secondDep()
value = 42;
end
end
end
% file application.m
instance = Injector().get(?package.MyClass);
% file unittest.m
firstDep = Mock(?package.FirstDependencyClass)
instance = Injector(firstDep).get(?package.MyClass);
Installation is really simple, you only need to copy a single file (Injector.m) to your project.
This class has been tested using newer versions of Matlab only (R2014b+), but it uses mostly standard tools that should be backwards compatible till R2009a. Please, if you find compatibility issues, notify me.
Cita come
Florian Schwaiger (2024). Automated Dependency Injector (https://github.com/fschwaiger/matlab-dependency-injector), GitHub. Recuperato .
Compatibilità della release di MATLAB
Compatibilità della piattaforma
Windows macOS LinuxCategorie
Tag
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Scopri Live Editor
Crea script con codice, output e testo formattato in un unico documento eseguibile.
example/+basic
example/+cascade
example/+direct
example/+interface
example/+provider
example/+singleton
example/+varargs
example/no_namespace
test
Le versioni che utilizzano il ramo predefinito di GitHub non possono essere scaricate
Versione | Pubblicato | Note della release | |
---|---|---|---|
1.0.0.0 | - updated description |
|