La modularisation fait référence à la rupture du code en "paquets" individuels et indépendants.
L'injection de dépendances fait référence à des références non codées en dur à d'autres modules.
A titre d'exemple pratique, vous pouvez écrire des modules qui ne sont pas par injection de dépendance:
import { Foo } from 'foo';
export function Bar() {
return Foo.baz();
}
Ici vous avez deux modules, mais ce module importe un autre module spécifique hardcoded.
Le même module écrit en utilisant l'injection de dépendance:
export function Bar(foo) {
return foo.baz();
}
Ensuite, quelqu'un d'autre peut l'utiliser comme:
import { Foo } from 'foo';
import { Bar } from 'bar';
Bar(Foo());
Vous injectez au moment de l'appel de la dépendance Foo
, au lieu de hardcoding la dépendance .
Avez-vous regardé https://en.wikipedia.org/wiki/Module_(disambiguation)#Computing_and_engineering et https://en.wikipedia.org/wiki/Dependency_injection? – Bergi