Inversion of Control

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Inversion of Control

Сообщение Roman Koff » 18.11.2010 (Чт) 11:43

Даже не знаю куда задать вопрос. Кто нибудь может внятно вкратце объяснить что такое Inversion of Control (IoC) и зачем он нужен?
В описаниях которые я нашел пишут что это вообще основа основ ООП, это крута, и вообще каждый должен это знать с пеленок! Но я, видимо, лашпед в программинге и не могу понять зачем для успешной разработки в мой проект я должен включать какую то дополнительную левую сборку CastleProject, к примеру.

В чем суть?
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Inversion of Control

Сообщение Хакер » 18.11.2010 (Чт) 12:07

Roman Koff писал(а):В описаниях которые я нашел пишут что это вообще основа основ ООП, это крута, и вообще каждый должен это знать с пеленок!

:lol:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Inversion of Control

Сообщение Antonariy » 18.11.2010 (Чт) 16:53

Вкратце и внятнее некуда объяснено в википедии.
Лучший способ понять что-то самому — объяснить это другому.

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Inversion of Control

Сообщение Roman Koff » 18.11.2010 (Чт) 20:48

Оооо, спасибо за grande division de la connaissance...
Я и не знал, что есть такой сайт google.ru

Если по чесноку, то хоцца узнать, в чем практическая польза того же КастлПроджекта?
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Inversion of Control

Сообщение alibek » 18.11.2010 (Чт) 23:17

По ссылке ведь доступно было написано.
Чтобы повысить качество кода и удобство повторного использования.
Lasciate ogni speranza, voi ch'entrate.

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Inversion of Control

Сообщение Roman Koff » 19.11.2010 (Пт) 7:11

Ну с теорией, в принципе, понятно, а вот как это на практике применяется (в .Net)? В чем заключается полезность, из за которой необходимо юзать стороннюю либу?
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Inversion of Control

Сообщение alibek » 19.11.2010 (Пт) 9:52

Как доказать полезность личной гигиены викингу?
Если не видишь полезности от интерфейсов, то не применяй их.
Со временем постигнешь.
Lasciate ogni speranza, voi ch'entrate.

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Inversion of Control

Сообщение Roman Koff » 19.11.2010 (Пт) 10:07

С интерфейсами все в поряде!
Вопрос в том, какую работу выполняет CastleProject?
Ее можно выполнить самостоятельно, без привлечения сторонней сборки?

Вопрос без претензий на чейто "тупизм" и личностный "профессионализм"...

И еще... Правильно ли я понял, что сфера интересов IoC сводится, в основном, к эффективному обеспечению модульного тестирования и DDT?
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Inversion of Control

Сообщение alibek » 19.11.2010 (Пт) 10:45

Roman Koff писал(а):в основном, к эффективному обеспечению модульного тестирования и DDT?

Что такое DDT?
В крупных проектах высокое качество кода чуть ли не важнее характеристик софта.
Lasciate ogni speranza, voi ch'entrate.

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Inversion of Control

Сообщение FireFenix » 19.11.2010 (Пт) 11:15

alibek писал(а):
Roman Koff писал(а):в основном, к эффективному обеспечению модульного тестирования и DDT?

Что такое DDT?

Наверное он имел ввиду Test-driven development (TDD)
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Inversion of Control

Сообщение Roman Koff » 19.11.2010 (Пт) 12:29

Лох. Конечна TDD. Запуталсо в терминах...

Я ведь спрашиваю не чтобы постибатсо, а чтобы понять, нужно ли изучать технологию или можно забить.
Понял, что нужно, никуда не детсо...
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Inversion of Control

Сообщение Хакер » 19.11.2010 (Пт) 12:41

Roman Koff писал(а):нужно ли изучать технологию или можно забить.

Да какая там технология? Просто принцип, подход к проектированию.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Inversion of Control

Сообщение Roman Koff » 19.11.2010 (Пт) 13:22

Блин! Если я сам четко продумал модель, описал сам все интерфейсы, объекты и взаимодействия, то мне IoC (Castle) нафиг не нужен?
Это типа Entity Framework, можно юзать незадумываясь, а можно самому парится описывать SQL-запросы низкого уровня?
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Inversion of Control

Сообщение Antonariy » 19.11.2010 (Пт) 16:10

Тебе не нужен Castle 100%. А IoC ты при этом и так почти наверняка используешь.
Лучший способ понять что-то самому — объяснить это другому.

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Inversion of Control

Сообщение Roman Koff » 19.11.2010 (Пт) 23:55

Спасибо, в общих чертах в терминах разобралсо...
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Inversion of Control

Сообщение alibek » 20.11.2010 (Сб) 0:02

Roman Koff писал(а):Блин! Если я сам четко продумал модель, описал сам все интерфейсы, объекты и взаимодействия, то мне IoC (Castle) нафиг не нужен?

Когда-то давно я не понимал смысла классов. Мне вполне хватало модулей и процедур.
Все, что я бы мог сделать классами, я бы мог сделать и процедурами.
Однако со временем я классы постиг и начал их применять правильно.
И грамотно сконструированная программа освобождало голову от кучи мелочей, в которые теперь не надо было детально вникать и держать в голове. А можно было подняться по абстракциям уровнем выше и более ясно представлять себе (и соответственно разрабатывать) более сложный софт.
Интерфейсы — это лишний слой абстракции, который занимает машинные ресурсы, но зато освобождает мозговые.
Lasciate ogni speranza, voi ch'entrate.

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: Inversion of Control

Сообщение FaKk2 » 22.11.2010 (Пн) 4:20

Посмотри на StructureMap. Сейчас пишу один проект в котором IoC/DI жутко облегчает разработку костяка программы.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 9

    TopList