Внедрение зависимости как функция языка?

Вы, вероятно, хотите класс ServletContainer, который поднят трубку с реализацией NServlet. В моей книге не позволяя частный / защищенное наследование не является действительно грандиозным предприятием и сохраняет язык менее сбивающим с толку - с LINQ и т.д. у нас уже есть достаточно материала для запоминания.

19
задан Brandon Wamboldt 12 May 2014 в 17:05
поделиться

3 ответа

You won't find dependency injection as a language feature, as it's generally seen as a design pattern. Design patterns arise as workarounds for missing language features - for example if you have first class types as a language feature you don't need the factory pattern ( see p12 of Norvig's presentation ), if you have multi-methods as a language feature you don't need the double dispatch pattern.

The language feature for which DI is the design pattern is "parametric modules". See the discussion of modules vs DI relating to Gilad Bracha's language Newspeak

11
ответ дан 30 November 2019 в 04:48
поделиться

Я не хочу показаться придурком, но каждый объектно-ориентированный язык поддерживает внедрение зависимостей. Никакого специального синтаксиса не требуется. Просто создайте свой объект с их зависимостями (или установите их зависимости позже).

На самом деле вы можете подключить все свои зависимости где-нибудь в верхней части программы - не обязательно main () , но ближе к началу.

4
ответ дан 30 November 2019 в 04:48
поделиться

Нооп предположительно делает это, но я не видел спецификации языка (мое терпение закончилось, прежде чем я ее нашел).

3
ответ дан 30 November 2019 в 04:48
поделиться