@oop_ru

Страница 135 из 785
Aleksandr
03.03.2017
13:25:04
вот этот ахтунг все что можно вообще нарушает
это тебе был пример нарушения ioc

Илья
03.03.2017
13:25:06
Evgeniy
03.03.2017
13:25:07
я хочу пример кода чтобы он был di, но не был ioc

такое возможно ?)

Google
Илья
03.03.2017
13:25:16
нет

Aleksandr
03.03.2017
13:25:37
di - это способ решить вопрос ioc. по определению нет

Evgeniy
03.03.2017
13:25:40
хорошо наоборот, чтобы код был ioc но не был di ?)

Илья
03.03.2017
13:26:04
public class A { private B b; public A(B b) { this.b = b; } }

Aleksandr
03.03.2017
13:26:09
хорошо наоборот, чтобы код был ioc но не был di ?)
а как ты будешь ресолвить зависимости без инжектирования?

Evgeniy
03.03.2017
13:27:12
public class A { private B b; public A(B b) { this.b = b; } }
ок, для того чтобы это мониторить нужен отдельный объект, например если я реализую вот такое

сейчас скину на pastebin это уже станет ioc ?

Илья
03.03.2017
13:27:55
ну тут пытаются объяснить уже. IoC - это подход, считай это как философия

"Я добираюсь на работу на транспорте" - это подход

на каком транспорте - это уже реализация подхода

Например, на машине - это di, на трамвае - это sl

Aleksandr
03.03.2017
13:29:20
Например, на машине - это di, на трамвае - это sl
нет. di и sl - это вообще разные вещи

di - да, способ. sl - просто параллельное понятие

Google
Илья
03.03.2017
13:29:51
да, пардон, не то написал

Хотя я кстати и с примером наврал, вот википедия говорит, что через конструктор передача параметра это тоже di

Evgeniy
03.03.2017
13:31:18
http://pastebin.com/PKyKuNh9

Aleksandr
03.03.2017
13:31:26
Хотя я кстати и с примером наврал, вот википедия говорит, что через конструктор передача параметра это тоже di
это всегда di. инъекция же зависимостей. я не могу придумтаь как без инъекции сделать ioc

Evgeniy
03.03.2017
13:31:28
вот с такой доработкой это уже станет IoC

Илья
03.03.2017
13:31:42
ну вот там на той же вики через фабрики предлагают )

Evgeniy
03.03.2017
13:32:07
вот именно

а если смотреть российскую вики

Evgeniy
03.03.2017
13:32:23
и english там еще больше разницы)

вот тут и начинается жопа)

все понимают но никто не может дать определения)

public class A { private B b; public A(B b) { this.b = b; } }
это код не di или не ioc ??)

Илья
03.03.2017
13:33:30
это код di и ioc

Evgeniy
03.03.2017
13:33:45
ага вот я к тому и говорю

что привести пример di без ioc или привести ioc без di

но если такого примера нет

значит и разницы между ними нет

а если di - ioc = 0

то di = ioc

Google
Aleh
03.03.2017
13:34:38
di без ioc нельзя, потому что di это ioc, а ioc без di элементарно

Evgeniy
03.03.2017
13:34:46
давай

я тут вместо работы холивар затеял)

Aleh
03.03.2017
13:35:20
связь между системами через ивенты

Evgeniy
03.03.2017
13:35:45
в виде кода если можно

Aleh
03.03.2017
13:35:45
между компонентами\модулями\классами

Evgeniy
03.03.2017
13:35:55
необязательно рабочего просто пример

Aleh
03.03.2017
13:36:06
реализация ивент-системы?

Evgeniy
03.03.2017
13:36:24
ну EventManagerItnerface

EventInterface

Aleh
03.03.2017
13:36:48
вопрос в коде-обработчике

Evgeniy
03.03.2017
13:36:58
или ты на js пишешь без интерфейсов)

Илья
03.03.2017
13:37:18
public class A { private B b; public A() { this.b = BFactory.getB(); } }

Aleh
03.03.2017
13:37:34
использование фреймворка уже IoC

Evgeniy
03.03.2017
13:37:39
только в пхп стиле, но суть понятна

хорошо получается по твоим словам ioc не отвечает за создание объекта

Aleh
03.03.2017
13:39:36
ioc это инверсия контроля, это про то, кто управляет потоком выполнения

а не про создание объектов

Google
Aleh
03.03.2017
13:40:02
использование стратегий - IoC

Evgeniy
03.03.2017
13:40:53
получается есть Observer

Aleh
03.03.2017
13:40:57
events - IoC

Evgeniy
03.03.2017
13:41:45
получается IoC это поведенческий подход

ну или поведенческий

а di это структурный

ну или порождающий

ioc - поведенческий подход, di - порождающий подход

так получилось?)

Aleh
03.03.2017
13:45:37
не знаю о чем ты)

Admin
ERROR: S client not available

Илья
03.03.2017
13:45:41
ioc - это абстрактный подход к проектированию, сама идея

di - семейство однотипных конкретных реализаций этой идеи

помимо di есть еще другие семейства реализаций

Evgeniy
03.03.2017
13:47:13
не знаю о чем ты)
ну выше писали что di и ioc это подходы

Илья
03.03.2017
13:47:29
ioc более общее понятие

включающее в себя di

Evgeniy
03.03.2017
13:47:57
di - семейство однотипных конкретных реализаций этой идеи
выше пришли к выводу что di - это тоже подход

а service locator это реализация ну или regist

Илья
03.03.2017
13:48:20
во чего нашел

Google
Evgeniy
03.03.2017
13:48:23
registry

Илья
03.03.2017
13:48:23
https://habrahabr.ru/post/131993/

Evgeniy
03.03.2017
13:48:36
так есть и другие статьи на эту тему

говрящие другое

Илья
03.03.2017
13:49:03
например?)

Evgeniy
03.03.2017
13:49:24
https://martinfowler.com/articles/injection.html

более авторитетное мнение чем, мнение какого то .net разработчика

я ничего плохого про .net не говорю или про автора статьи на хабре, просто у фаулера некий авторитет.

там по ссылке отдельно еще о https://martinfowler.com/bliki/InversionOfControl.html

причем обрати внимание на даты постов это 2004 год примерно

Илья
03.03.2017
13:52:15
там по ссылке отдельно еще о https://martinfowler.com/bliki/InversionOfControl.html
There is some confusion these days over the meaning of inversion of control due to the rise of IoC containers; some people confuse the general principle here with the specific styles of inversion of control (such as dependency injection) that these containers use.

Evgeniy
03.03.2017
13:53:29
ну так получается есть ioc и есть разные виды иньекций зависимостей

в виде constructor, property, etc

setter injection, etc

так получается?)

просто мнений по этому поводу реально дофига)

Sergey
03.03.2017
13:54:31
Илья
03.03.2017
13:54:39
есть ioc, есть di как один из видов ioc, есть di через конструктор один из типов di

Sergey
03.03.2017
13:54:46
есть принцип - Inversion of Control, есть реализация - Dependency Injection

есть пафосное название - IoC Container

Evgeniy
03.03.2017
13:55:02
ну вон человек выше писал

что di это подход

здесь в чате

Страница 135 из 785