KudoZ home » English to Russian » Computers: Software

setter-based dependency injection

Russian translation: инверсия зависимостей на основе сеттеров

Advertisement

Login or register (free and only takes a few minutes) to participate in this question.

You will also have access to many other tools and opportunities designed for those who have language-related jobs
(or are passionate about them). Participation is free and the site has a strict confidentiality policy.
GLOSSARY ENTRY (DERIVED FROM QUESTION BELOW)
English term or phrase:setter-based dependency injection
Russian translation:инверсия зависимостей на основе сеттеров
Entered by: Alex Platonov
Options:
- Contribute to this entry
- Include in personal glossary

07:34 Nov 8, 2008
English to Russian translations [PRO]
Tech/Engineering - Computers: Software / prgramming
English term or phrase: setter-based dependency injection
Кодирование в Java. Буду весьма признателен, если дадите вариант перевода всего предложения. Заранее благодарен!
Use setter-based dependency injection to decouple classes from each other (except of course when tight coupling is desirable).
Alex Platonov
Local time: 19:15
инверсия зависимостей на основе сеттеров
Explanation:
dependency injection переводят по-разному: инверсия зависимостей, инъективная зависимость, вкалывание зависимостей, впрыскивание зависимостей.
Я выбрал самый удачный, на мой взгляд, вариант. См.:

ru.wikipedia.org/wiki/Обращение_контроля:

Обращение контроля (Inversion of Control, IoC) — важный принцип объектно-ориентированного программирования, который используется для уменьшения связности в компьютерных программах.

IoC также известен как Dependency Injection Principle. Приём Dependency Injection используется почти во всех framework'ах. Он применяется программистами использующими такие объектно-ориентированные языки программирования как Smalltalk, C++, Java или языки платформы .NET.

http://wiki.agiledev.ru/doku.php?id=ooad:dependency_injectio... :

Сразу оговорюсь, что инверсия зависимостей (Dependency Inversion, далее DI) выросла из инверсии контроля (Inversion of Control, далее IoC), которая применяется не только в объектном подходе, но и в процедурном.

В начале 2004 года в своей статье [1] Мартин Фаулер рассмотрел явление IoC в контексте ООП. Основываясь на мыслях изложенных в данной статье, он подобрал более удачное определение для IoC в мире ООП: инъективная зависимость (Dependency Injection) или инверсия зависимостей (Dependency Inversion).

Инверсия зависимости – это особый вид IoC, который применяется в Объектно-Ориентированном подходе для удаления зависимостей между классами. Зависимости между классами превращаются в ассоциации между объектами. Ассоциации между объектами могут устанавливаться и меняться во время выполнения приложения. Это позволяет сделать модули менее связанными между собой. Ниже мы рассмотрим пример, который объяснит суть вышесказанного.=

http://forum.agiledev.ru/index.php?t=msg&th=656&start=0& :

На самом деле тут проблема в терминологии. Инверсия зависимостей, она же Dependency Injection (Фаулер), она же Dependency Inversion (Р. Мартин) это именно пасивная форма снижения взаимосвязей между компонентами.

http://flash-ripper.com/archives/001379.php :

Чем дальше я читал статью Фаулера об инверсии зависимостей (dependency injection), тем яснее видел, сколь наивна моя нижеприведенная попытка эту инверсию реализовать.

Чтобы решить эту проблему и снизить зависимость классов друг от друга, и придуман механизм "Dependency Injection", т.е. -- "вкалывание зависимостей". Суть его в том, что зависимые от внешних изменяющихся классов пременные приобретают свои зависимые значения не внутри самого класса при объявлении, а задаются снаружи -- так мы уходим от необходимости переписывать класс при его переносе в другие проекты. Для впрыскивания зависмостей существует несколько методов, описанных по приведенной выше ссылке. Среди них -- метод сеттеров, когда зависимые свойства задаются через функции-сеттеры -- мне он понравился воей простотой.

Пытаясь применить механизм вкалывания зависмостей через **сеттеры** на своем проекте, я пришел к тому, что мои сеттеры и геттеры нагло разрастаются. Поэтому я вывел для себя комбинированный метод впрыскивания заависмостей.


--------------------------------------------------
Note added at 33 мин (2008-11-08 08:07:37 GMT)
--------------------------------------------------

Предложение:

Используйте инверсию зависимостей на основе сеттеров для удаления зависмостей между классами (конечно, за исключением случаев, когда тесное связывание желательно)

http://www.microsoft.com/Rus/Government/newsletters/issue19/... :

Слабые связи (loose affiliations, loose coupling) — ситуация, когда один компонент системы может делать минимум неявных допущений о характере работы другого компонента, с которым он взаимодействует. Например, если в рамках одного компьютера можно исходить из того, что другой компонент функционирует и без проблем получит отправленное ему сообщение (**«тесное связывание», tight coupling**), то в распределенной сети удаленный компонент может оказаться отключен или перегружен.
Selected response from:

Igor Savenkov
Russian Federation
Local time: 19:15
Grading comment
Огромное спасибо! А за лекцию отдельный поклон!
4 KudoZ points were awarded for this answer

Advertisement


Summary of answers provided
3инверсия зависимостей на основе сеттеров
Igor Savenkov


  

Answers


27 mins   confidence: Answerer confidence 3/5Answerer confidence 3/5
инверсия зависимостей на основе сеттеров


Explanation:
dependency injection переводят по-разному: инверсия зависимостей, инъективная зависимость, вкалывание зависимостей, впрыскивание зависимостей.
Я выбрал самый удачный, на мой взгляд, вариант. См.:

ru.wikipedia.org/wiki/Обращение_контроля:

Обращение контроля (Inversion of Control, IoC) — важный принцип объектно-ориентированного программирования, который используется для уменьшения связности в компьютерных программах.

IoC также известен как Dependency Injection Principle. Приём Dependency Injection используется почти во всех framework'ах. Он применяется программистами использующими такие объектно-ориентированные языки программирования как Smalltalk, C++, Java или языки платформы .NET.

http://wiki.agiledev.ru/doku.php?id=ooad:dependency_injectio... :

Сразу оговорюсь, что инверсия зависимостей (Dependency Inversion, далее DI) выросла из инверсии контроля (Inversion of Control, далее IoC), которая применяется не только в объектном подходе, но и в процедурном.

В начале 2004 года в своей статье [1] Мартин Фаулер рассмотрел явление IoC в контексте ООП. Основываясь на мыслях изложенных в данной статье, он подобрал более удачное определение для IoC в мире ООП: инъективная зависимость (Dependency Injection) или инверсия зависимостей (Dependency Inversion).

Инверсия зависимости – это особый вид IoC, который применяется в Объектно-Ориентированном подходе для удаления зависимостей между классами. Зависимости между классами превращаются в ассоциации между объектами. Ассоциации между объектами могут устанавливаться и меняться во время выполнения приложения. Это позволяет сделать модули менее связанными между собой. Ниже мы рассмотрим пример, который объяснит суть вышесказанного.=

http://forum.agiledev.ru/index.php?t=msg&th=656&start=0& :

На самом деле тут проблема в терминологии. Инверсия зависимостей, она же Dependency Injection (Фаулер), она же Dependency Inversion (Р. Мартин) это именно пасивная форма снижения взаимосвязей между компонентами.

http://flash-ripper.com/archives/001379.php :

Чем дальше я читал статью Фаулера об инверсии зависимостей (dependency injection), тем яснее видел, сколь наивна моя нижеприведенная попытка эту инверсию реализовать.

Чтобы решить эту проблему и снизить зависимость классов друг от друга, и придуман механизм "Dependency Injection", т.е. -- "вкалывание зависимостей". Суть его в том, что зависимые от внешних изменяющихся классов пременные приобретают свои зависимые значения не внутри самого класса при объявлении, а задаются снаружи -- так мы уходим от необходимости переписывать класс при его переносе в другие проекты. Для впрыскивания зависмостей существует несколько методов, описанных по приведенной выше ссылке. Среди них -- метод сеттеров, когда зависимые свойства задаются через функции-сеттеры -- мне он понравился воей простотой.

Пытаясь применить механизм вкалывания зависмостей через **сеттеры** на своем проекте, я пришел к тому, что мои сеттеры и геттеры нагло разрастаются. Поэтому я вывел для себя комбинированный метод впрыскивания заависмостей.


--------------------------------------------------
Note added at 33 мин (2008-11-08 08:07:37 GMT)
--------------------------------------------------

Предложение:

Используйте инверсию зависимостей на основе сеттеров для удаления зависмостей между классами (конечно, за исключением случаев, когда тесное связывание желательно)

http://www.microsoft.com/Rus/Government/newsletters/issue19/... :

Слабые связи (loose affiliations, loose coupling) — ситуация, когда один компонент системы может делать минимум неявных допущений о характере работы другого компонента, с которым он взаимодействует. Например, если в рамках одного компьютера можно исходить из того, что другой компонент функционирует и без проблем получит отправленное ему сообщение (**«тесное связывание», tight coupling**), то в распределенной сети удаленный компонент может оказаться отключен или перегружен.

Igor Savenkov
Russian Federation
Local time: 19:15
Specializes in field
Native speaker of: Native in RussianRussian
PRO pts in category: 630
6 corroborated select projects
in this pair and field What is ProZ.com Project History(SM)?
Grading comment
Огромное спасибо! А за лекцию отдельный поклон!
Login to enter a peer comment (or grade)




Return to KudoZ list


KudoZ™ translation help
The KudoZ network provides a framework for translators and others to assist each other with translations or explanations of terms and short phrases.



See also:



Term search
  • All of ProZ.com
  • Term search
  • Jobs
  • Forums
  • Multiple search