Есть ли структура впрыска зависимости для SmallTalk?
-
30-09-2019 - |
Вопрос
Я бегаю Pharo, и я просто в использовании случаем, что вроде криков для впрыска зависимости à la Решающее значение. Отказ Есть что-то похожее на SmallTalk?
Я понимаю, что вы можете сделать это все пешком, просто проходив в зависимости от явно. Но это чувствует себя неловко и добросовестно для меня.
Решение
Есть диалект на небольшой акцент на инъекции зависимости. Он расширяет язык, так что не только имена методов, но и имена классов, используют динамический поиск. Новый поиск имен классов наиболее похож на методы, за исключением того, что пузырьки через серию вложенных классов, а не вдоль цепочки наследования. Таким образом, вы можете изменить введенные классы, изменив среду вложенности.
Чтобы узнать больше о диалекте, перейдите по этой ссылке.
Другие советы
С удивлением, Похоже, вы определяете свои классы, чтобы сделать определенные интерфейсы в качестве параметров конструктора. Затем вы рассказываете резинку «Этот интерфейс карты к этому классу, реализующую указанный интерфейс».
Такое сортировка совершенно не нужна в Smalltalk, потому что классы SmallTalk заботятся о протоколах.
Если мы перевели пример на Smalltalk, мы могли бы пройти любой объект, который нам понравился в конструктор Realbillingservice, до тех пор, пока этот объект ответил на #LogChargerSult: и #logConnectexception:, т. Е. Долго времени, как этот объект реализовал протокол, необходимый для транзакции.
Вот ссылка к аналогичному ответу на вышеуказанное.
Я не очень эксперт, но я нашел эту статью в Google: http://codebetter.com/blogs/jeremy.miller/archive/2006/05/05/144172.aspx.
Я надеюсь, что это приведет вас в правильном направлении.
:)