Automated Dependency Injector

Automated dependency injector class that works by inspecting constructor arguments.
31 Downloads
Aktualisiert 22. Jun 2018

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.

Zitieren als

Florian Schwaiger (2024). Automated Dependency Injector (https://github.com/fschwaiger/matlab-dependency-injector), GitHub. Abgerufen .

Kompatibilität der MATLAB-Version
Erstellt mit R2009a
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux
Kategorien
Mehr zu Construct and Work with Object Arrays finden Sie in Help Center und MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

example/+basic

example/+cascade

example/+direct

example/+interface

example/+provider

example/+singleton

example/+varargs

example/no_namespace

test

Versionen, die den GitHub-Standardzweig verwenden, können nicht heruntergeladen werden

Version Veröffentlicht Versionshinweise
1.0.0.0

- updated description

Um Probleme in diesem GitHub Add-On anzuzeigen oder zu melden, besuchen Sie das GitHub Repository.
Um Probleme in diesem GitHub Add-On anzuzeigen oder zu melden, besuchen Sie das GitHub Repository.