Действительно ли это будет упрощение разработки? Мы и понятие API вводим, и отдельный сервер-прокси на JS, код по сборке все этого счастья на клиенте. На первый взгляд кажется, что кол-во кода ощутимо увеличится, в довесок к введению новых сущностей. Не очень понятен профит, который мы получим, пойдя на такие трудозатраты.
Да нет, не негативно. Просто поделился наблюдением: подобных текстов русских авторов — не найти.
И поставлю под сомнение очевидность описанных истин. Да, они простые, но оглядываясь назад на все проведённые в последние пару лет собеседования разработчиков — нет, не очевидные это истины :-(
Я говорю о том, что:
1) Dependency Inversion / IoC можно делать и без контейнера, собирая зависимости руками.
2) при помощи контейнера решаем задачу Dependency Injection, т.е. автоматически собираем зависимости и не более того
Т.е. использование контейнера совершенно не значит, что архитектура использует принципы обращения зависимостей. Для этого нужно предпринять отдельные шаги.
Ваша неправда. использование DI/IoC контейнера — отдельно, принципы DI и IoC — отдельно. Тот факт, что кто-то ввиду недопонимания их отождествляет, не должно учитываться. Здесь г-н lair прав.
Конечно же мы что-то не так делаем. Умные дядьки из книжек ошиблись, не написав во введениях к своим книгам крупными буквами: «Not a silver bullet. Применять с умом». Отсюда ИМХО и все проблемы (с ООП), обсасываемые в последнее время на Хабре
Но всё же статический фасад — паника-паника :-) Ну всякое же может быть, чёрт его знает! Я руководствуюсь мыслью, что при разработке функционала с нуля, налабать статический класс по трудозатратам и кол-ву буковок — сопоставимо с передачей ссылки на него же извне. А при таком раскладе и раз в год какой-нибудь несложный реюз будет возможен или наследника передать, раз в пол года.
С другой стороны, конечно, статический класс может делегировать вызовы к какой-нибудь сторонней реализации и мы получим примерно те же яйца, может чуть другого размера…
Откуда дровишки то? В Европе как раз и нет классификации «бойцовый» или нет. А так популярные в российских ужастиках питы\були\стаффы — простые домашние собаки. Но которые не прощают ошибок, да.
А к кинологу обращались? Опытный кинолог утверждает, что 99.9% собак поддаются полному перевоспитанию, ибо 99.9% их испорченности — приобретённые реакции, а не генетика.
Как писал Джон Фишер (про ведро и хозяина в другой комнате): «я никак не связан с той фигнёй, что сейчас с тобой случилось, ибо во всём виновата твоя глупость». Жрать из помойки — нельзя в принципе. Это воля Вселенной :)
Если собака не воспринимает ЭО, конечно же ей он не нужен :-) Да, им действительно нужно уметь пользоваться и получится офигенный результат даже с простыми «сидеть» (но удел ЭО — более сложные дрессировки). Среднестатистическому собаководу такие штуки противопоказаны.
Ну всё на самом деле просто. Либо вы кинолог и глубоко понимаете поведение и мотивацию собак, либо нет и тогда подобные методы могут казаться чуждыми и живодёрскими. Есть собаки, которые вообще не воспринимают электронный ошейник. Понимаете? Не чувствуют. Там не 220В, собаку это воздействие не испепеляет.
А в комментариях ниже писали, что действительно использование ЭО позволяет минимизировать промежуток времени между «сделал» — «получил фидбэк от хозяина». Дело то, блин, не в боли. А в том, чтобы собака просто получила обратную связь. Полез копошиться в мусорном ведре, засунул туда нос и опа — хозяин не дремлет, значит так делать здесь запрещено.
ЭО — не наказание. Это инструмент обратной связи, очень эффективный и поэтому сложный в использовании. Поэтому я и расстроился, что Гармин толкает их в массы. Куча людей купят девайс и начнут без повода долбать собаку на максимуме.
Соревнования на послушание — другое. Тут для собаки как раз всё хорошо: победит только та, которую обучили исключительно позитивными способами :) Если собаку фигачили палкой за неправильное выполнение команды, судья это быстро увидит в неуверенном и трусоватом поведении пса.
Про профит не соглашусь: собака счастлива, когда её хвалят и уделяют ей внимание. Поэтому, если она знает что за прекрасное выполнение программы будет вознаграждена, то сама и приложит все усилия, ещё и радуясь процессу =)
На самом деле электрошок — только звучит устрашающе. Конечно же там десяток режимов и обучение собаки идёт на низких воздействиях, для них это как щипок, укус комара, щелчок пальцем и т.д. Так что ответ на ваш последний вопрос по большей части кроется в этом факте. Предупредить собаку, что она не права.
И поставлю под сомнение очевидность описанных истин. Да, они простые, но оглядываясь назад на все проведённые в последние пару лет собеседования разработчиков — нет, не очевидные это истины :-(
1) Dependency Inversion / IoC можно делать и без контейнера, собирая зависимости руками.
2) при помощи контейнера решаем задачу Dependency Injection, т.е. автоматически собираем зависимости и не более того
Т.е. использование контейнера совершенно не значит, что архитектура использует принципы обращения зависимостей. Для этого нужно предпринять отдельные шаги.
А что ещё? В комментариях на поверхности пока лишь плавает «уменьшить связанность ради уменьшения связанности».
Но всё же статический фасад — паника-паника :-) Ну всякое же может быть, чёрт его знает! Я руководствуюсь мыслью, что при разработке функционала с нуля, налабать статический класс по трудозатратам и кол-ву буковок — сопоставимо с передачей ссылки на него же извне. А при таком раскладе и раз в год какой-нибудь несложный реюз будет возможен или наследника передать, раз в пол года.
С другой стороны, конечно, статический класс может делегировать вызовы к какой-нибудь сторонней реализации и мы получим примерно те же яйца, может чуть другого размера…
Я к тому, что в данном случае все собаки равны, пропорционально своему размеру.
Если собака не воспринимает ЭО, конечно же ей он не нужен :-) Да, им действительно нужно уметь пользоваться и получится офигенный результат даже с простыми «сидеть» (но удел ЭО — более сложные дрессировки). Среднестатистическому собаководу такие штуки противопоказаны.
А в комментариях ниже писали, что действительно использование ЭО позволяет минимизировать промежуток времени между «сделал» — «получил фидбэк от хозяина». Дело то, блин, не в боли. А в том, чтобы собака просто получила обратную связь. Полез копошиться в мусорном ведре, засунул туда нос и опа — хозяин не дремлет, значит так делать здесь запрещено.
ЭО — не наказание. Это инструмент обратной связи, очень эффективный и поэтому сложный в использовании. Поэтому я и расстроился, что Гармин толкает их в массы. Куча людей купят девайс и начнут без повода долбать собаку на максимуме.
Про профит не соглашусь: собака счастлива, когда её хвалят и уделяют ей внимание. Поэтому, если она знает что за прекрасное выполнение программы будет вознаграждена, то сама и приложит все усилия, ещё и радуясь процессу =)
На самом деле электрошок — только звучит устрашающе. Конечно же там десяток режимов и обучение собаки идёт на низких воздействиях, для них это как щипок, укус комара, щелчок пальцем и т.д. Так что ответ на ваш последний вопрос по большей части кроется в этом факте. Предупредить собаку, что она не права.
upd: Да, на себе проверял!
По поводу первого вопроса — да, например я.