Automated Dependency Injector

Automated dependency injector class that works by inspecting constructor arguments.

https://github.com/fschwaiger/matlab-dependency-injector

Al momento, stai seguendo questo contributo

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 (2026). Automated Dependency Injector (https://github.com/fschwaiger/matlab-dependency-injector), GitHub. Recuperato .

Categorie

Scopri di più su Construct and Work with Object Arrays in Help Center e MATLAB Answers

Informazioni generali

Compatibilità della release di MATLAB

  • Compatibile con qualsiasi release

Compatibilità della piattaforma

  • Windows
  • macOS
  • Linux

Le versioni che utilizzano il ramo predefinito di GitHub non possono essere scaricate

Versione Pubblicato Note della release Action
1.0.0.0

- updated description

Per visualizzare o segnalare problemi su questo componente aggiuntivo di GitHub, visita GitHub Repository.
Per visualizzare o segnalare problemi su questo componente aggiuntivo di GitHub, visita GitHub Repository.