Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
МСУПонесло обезьянку не думал, что ты до такого опустишься. в игнор товарищ. иди к своим обезяснкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 21:34 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
hVosttбудут какие-то опровергающие аргументы с твоей стороны? МСУ, можешь даже стараться. я не собираюсь больше продолжать тему, если тебя уже на обезянки понесло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 21:36 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
hVosttМСУМожно много чего, нужно просто иметь прямые руки. мы не о прямых руках. мы обсуждаем исключительно паттерн DI. я понимаю, что это не панацея, и что прямые руки нужны и голова и всё такое. что не всегда уместно пихать DI, и не надо пытаться сделать +100500 слоёв обстракции... и т.д. и т.п. Ну вот ты иногда говоришь правильные вещи, а иногда тебя заносит куда-то анус. Хрен поймешь тебя. hVosttя тебе говорю только что касается в контексте обсуждаемой темы. мы говорим о DI, я говорю как его правильно использовать исходя из большого количества чужого исходного кода, что я прочитал, исходя из прочитанного в книгах уважаемых людей, исходя из банальной логики. я ничего сам не придумал. у тебя привычка перекладывать с больной головы на здоровую. Не выеживайся. Ты говоришь о некой серебряной пуле. А я тебе объясняю, что жизнь гибче и не нужно мерять всё единым шаблоном. Есть масса решений. hVosttда в контексте DI диспозить должен контейнер и я уже объяснил почему. Ты много чего "объяснил", но до сих пор не решил задачу с уничтожением после использования. Классический вариант - открываем окно, идет обращение к WCF сервису, после получения данных инстанс сервиса диспоузится. Где решение? hVosttбудут какие-то опровергающие аргументы с твоей стороны? Да. Ты пишешь глупости и про какой-то сферичский хаос. Хаос может быть только в больной голове. Но задача с веб сервисом так и не решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 21:51 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
hVosttМСУПонесло обезьянку не думал, что ты до такого опустишься. в игнор товарищ. иди к своим обезяснкам. Ну так-то ты быстро сливаешь. hVostthVosttбудут какие-то опровергающие аргументы с твоей стороны? МСУ, можешь даже стараться. я не собираюсь больше продолжать тему, если тебя уже на обезянки понесло. Только не говори, что обиделся. Принцип обезьянки - упорото делать что-то одно, не замечая альтернатив и иных решений. Я искренне желаю, чтобы ты не превращался в неё. И ни дай тебе быть таким, как упоротый на всю голову Сева. Это еще та невменяемая макака, городит такую жуть, что хоть стой, хоть падай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 21:53 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
МСУКлассический вариант - открываем окно, идет обращение к WCF сервису, после получения данных инстанс сервиса диспоузится. Где решение? а в чем проблема? определяется именованная область жизни, если при регистрации компонента (не имеет значения, что там WCF или что-то ещё, совершенно не важно), указано, что жить он должен в пределах определённой области, значит он и умрёт тогда, когда эта область умрёт. об этом позаботиться контейнер. вообще, если мы работаем с DI, то должна быть обеспечена некая инфраструктура. в ASP.NET MVC она есть из коробки. в WinForms её нет, надо позаботиться об этом самому. все окна должны создаваться через фабрику. я даже не вижу причин обсуждать это. если же ты выбрал другой подход, использование SL, то совершенно другое дело. диспоузь там, где считаешь нужным. передавай контейнер в глубь классов. я бы так делать не стал, но возможно в этом тоже есть свой смысл. типо с прямыми руками можно и на этом построить хорошую архитектуру. всё что я говорил, относится к паттерну DI. к чистому паттерну DI. это когда никакие DependencyResolver или App.Container не используются. никто не резолвит ничего самостоятельно. если тебе кажется, что такие подходы не практикуются, уверяю тебя — это не так. ещё как практикуются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:03 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
Нифига не знаю що такив ИоК, ДИ, СЛ- но, мусю опустили кажись по делу мусь, либо учись, лио пиши кк можешь - иногда как можешь круче чем учиться у козлов каких то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:04 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
МСУТы говоришь о некой серебряной пуле. ещё раз нет. я пытаюсь донести все преимущества использования DI. и это не проброс контейнера в глубь класса типа резолвите там себе что хотите, и делайте с этим что хотите -- это не путь DI. вот что я пытаюсь донести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:06 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
ViPRosиногда как можешь круче чем учиться у козлов каких то и такая точка зрения тоже имеет право на жисть. в сраку ваших Фаулеров, прямые руки и пошёл!... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:07 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
hVosttМСУТы говоришь о некой серебряной пуле. ещё раз нет. я пытаюсь донести все преимущества использования DI. и это не проброс контейнера в глубь класса типа резолвите там себе что хотите, и делайте с этим что хотите -- это не путь DI. вот что я пытаюсь донести. все эти высеры типа ДИ и т.д. латают дыры в ООП, но фигушки, эти дыры бездонны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:07 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
ViPRosвсе эти высеры типа ДИ и т.д. латают дыры в ООП, но фигушки, эти дыры бездонны абстракции текут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:09 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
hVosttа в чем проблема? определяется именованная область жизни, если при регистрации компонента (не имеет значения, что там WCF или что-то ещё, совершенно не важно), указано, что жить он должен в пределах определённой области, значит он и умрёт тогда, когда эта область умрёт. об этом позаботиться контейнер. Проблема в том, что эту именованную абстракцию области жизни как-то должен протащить в класс. Опять нагружать конструктор. Далее. Класс должен будет в нужный момент сказать, когда выгрузить именованную область. Что по сути те же яйца, что и обычный диспоуз сервиса. Прицнип тот же самый. hVosttвообще, если мы работаем с DI, то должна быть обеспечена некая инфраструктура. в ASP.NET MVC она есть из коробки. в WinForms её нет, надо позаботиться об этом самому. все окна должны создаваться через фабрику. я даже не вижу причин обсуждать это. Я с этим не спорю. hVosttесли же ты выбрал другой подход, использование SL, то совершенно другое дело. диспоузь там, где считаешь нужным. передавай контейнер в глубь классов. я бы так делать не стал, но возможно в этом тоже есть свой смысл. типо с прямыми руками можно и на этом построить хорошую архитектуру. А какая принципиальная разница в данном контексте, SL или WPF? hVosttвсё что я говорил, относится к паттерну DI. к чистому паттерну DI. это когда никакие DependencyResolver или App.Container не используются. никто не резолвит ничего самостоятельно. если тебе кажется, что такие подходы не практикуются, уверяю тебя — это не так. ещё как практикуются. Я же тебе давал ссылки. Практикуются, ибо это удобно. Во-вторых, не все DI контейнеры имеют именованные области жизни. В-третьих, намного проще освободить, чем делегировать освобождение. И самое главное - нету серебряной пули. Вот что я хочу, чтобы ты понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:27 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
hVosttМСУТы говоришь о некой серебряной пуле. ещё раз нет. я пытаюсь донести все преимущества использования DI. и это не проброс контейнера в глубь класса типа резолвите там себе что хотите, и делайте с этим что хотите -- это не путь DI. вот что я пытаюсь донести. Так DI контейнеры разные бывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:28 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
МСУ, sl = service locator ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:29 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
МСУ, как я понял из базара, ДИ - это типа ресурс менеджера его просят, если есть такая та фигня, то пжальста запусти ее а все фигни записывают в ДИ свои координаты вот ДИ смотрит свой список и если есть такая фигня то запускает ее клон или просто счетчик там увеличивает, пофиг ну и как то этот счетчик уменшется и тады ДИ выкидывает эту фигню из памяти, а может и не выкидывает фиг знает, кому че надоть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:33 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
ViPRosМСУ, sl = service locator Ок. А то он сначала про ASP.NET, потом про WinForms, потом SL. Сбило с толку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:34 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
ViPRosкак я понял из базара, ДИ - это типа ресурс менеджера не, это одна из функций, а основная - породить туеву хучу объектов, задать свойства, связи и так чтоб они не сами вытаскивали информацию о своей настройке, а снаружи некто(контейнер) их накормил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:36 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
Изопропил, ну я про это и грил, создать, запустить, вернуть,... кто во что горазд в ВИПРОС это ОДИН метод ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:38 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
ViPRosи 12 таблиц :) в spring.net - один XML файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:42 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
Изопропил, и так можно, но много таблиц лучше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 22:47 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
МСУПроблема в том, что эту именованную абстракцию области жизни как-то должен протащить в класс. Опять нагружать конструктор. Далее. Класс должен будет в нужный момент сказать, когда выгрузить именованную область. Что по сути те же яйца, что и обычный диспоуз сервиса. Прицнип тот же самый. ничего не надо тащить в класс кроме самой зависимости. всё по-фенщую. класс объявляет через конструктор и/или через открытые свойства о своих зависимостях. DI-контейнер эти зависимости разрешает. класс ничего не знает о каких-то там областей жизни в этом и соль. это понятие DI-контейнера. при чем это может и называть-ся совершенно иначе, и реализовано может быть по-другому. класс не должен говорить, что надо выгрузить именованную область. по той причине, что он о ней не знает. он даже сам не знает сколько он сам будет существовать. это определяется в момент регистрации компонента в контейнере. суть в том, чтобы определить не только сами по себе зависимости, но временные рамки существования зависимостей. банальный пример ASP.NET MVC. стандартная жизненная область -- это время жизни HttpContext. мои сервисы совершенно без понятия, что они живут в этих временных рамках. однако отдельные сервисы зарегистрированы в контейнере таким образом, что они живут ровно столько, сколько живут их прямые потребители, т.ё. каждому классу выдаётся совершенно новый экземпляр. и ему не нужно заботиться об уничтожении. когда он умрёт, его зависимости умрут. с этим прекрасно српавляется контейнер. но! как только мы начинаем в этой схеме использовать SL, то уже всё внешнее управление временем жизни летит к чертям. оно уже не нужно. получил инстанс через DependencyResolver, уже буть добр уничтож его сам. вот такая вафля. разница величиной в пропасть, не смотря на кажущееся родство обоих паттернов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 23:08 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
ViPRosи так можно, но много таблиц лучше :) есть разные способы конфигурирования контейнеров - xml файлы, интерфейсы у которых контейнер запрашивает конфигурацию(можно и из таблиц данные взять), говнокод в конце концов, где привязка прибита гвоздями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 23:09 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
hVosttбанальный пример лучше небанальный с иерархией контекстов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 23:14 |
|
||
|
выбор IoC
|
|||
|---|---|---|---|
|
#18+
МСУ, кстати, Autofac, например, определяет свою фабрику зависимостей, которую можно прокидывать в класс, если он в момент создания ещё не уверен какая конкретно реализация зависимости ему понадобится: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. на счёт огромной кучи завимостей в одном классе. во-первых это уже говорит о том, что пора делать рефакторинг, так как кто-то слишком много ест. во-вторых решается таким образом: проблемный класс: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. решение: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. в общем, DI это достаточно гибкая хрень. я ещё сам до конца его не раскурил, но то что получается мне очень нравится. не серебряная пуля конечно, но очень удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2013, 23:16 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38475996&tid=1357917]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 348ms |

| 0 / 0 |
