tag:blogger.com,1999:blog-8596733192274108952.post7489242285311613730..comments2024-03-12T06:00:18.305+02:00Comments on Programming stuff: О книге Марка Симана “Dependency Injection in .NET”Sergey Teplyakovhttp://www.blogger.com/profile/14300835272589262297noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-8596733192274108952.post-12509696178575608552017-07-20T00:42:14.095+03:002017-07-20T00:42:14.095+03:00>Добавление Швов в приложение требует дополните...>Добавление Швов в приложение требует дополнительных усилий, поэтому добавлять их стоит только в случае необходимости.<br /><br />В части 6.1.2. "Пример: выбор алгоритма расчета пути" (в русском переводе) что-то странное. Обычная фабрика превращается в "абстрактную" путём замены конкретной реализации фабрики её двойником-интерфейсом. При этом представить осмысленную альтернативную реализацию интерфейса IRouteAlgorithmFactory мне кажется задачей довольно затруднительной: ведь смысл фабрики заключается как раз в том, чтобы быть единственной точкой в приложении, где происходит нужный резолвинг. Мне кажется, что здесь Марк пошёл как раз против своих собственных слов и руководствовался не столько реальными потребностями дизайна, сколько евангелическими принципами: никакой статики, никаких new(), никаких конкретных типов.Anonymoushttps://www.blogger.com/profile/06671094070598806321noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-54877448536079518662016-01-20T22:26:26.672+02:002016-01-20T22:26:26.672+02:00Так это же ревью оригинальной книги, а вы, видимо,...Так это же ревью оригинальной книги, а вы, видимо, купили перевод.Sergey Teplyakovhttps://www.blogger.com/profile/14300835272589262297noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-11708450730941332392016-01-20T22:18:46.811+02:002016-01-20T22:18:46.811+02:00wtf? Купил книгу - оказалось 460 страниц, вместо 6...wtf? Купил книгу - оказалось 460 страниц, вместо 624 страницы в электронном варианте. Просто выкинули 200 страниц, Castle Windsor и StructureMap есть - всего остального нет. Даже в описании книги написано, что есть описание Unity. Но его нет.<br />Обидно очень, несмотря на маленький КПД, как вы говорите.Anonymoushttps://www.blogger.com/profile/15246794082155520032noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-56682717039643077482014-04-17T00:42:42.129+03:002014-04-17T00:42:42.129+03:00Согласен, Сергей, уникальна. Хотя, я в свое время ...Согласен, Сергей, уникальна. Хотя, я в свое время гонялся за "Applied ASP.NET MVC 3 in Context". Надеялся, что там будет нечто подобное, хоть пара глав. Вот теперь думаю - стоит ли прочитать http://www.growing-object-oriented-software.com/ :)Oleg Karpovhttps://www.blogger.com/profile/08544370686572178561noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-74928443943541702582014-04-17T00:31:06.668+03:002014-04-17T00:31:06.668+03:00Олег, мне кажется степень восприятия книги очень с...Олег, мне кажется степень восприятия книги очень сильно зависит от уровня читателя (и у тебя (думаю, разумно на "ты") в комментарии об этом тоже упоминается). Да, эта книга будет бесполезной новичку в дизайне (именно в дизайне, а не в DI), и точно будет бесполезна эксперту в DI.<br />У меня во время чтения этой книги был большой опыт в дизайне и маленький в классическом ныне DI. Именно поэтому мне многие советы показались полезными, да и изложение дает достаточно основательное представление об этой теме, вводит обильное число паттернов.<br /><br />Книги далека от идеала, но ведь, согласись, ничего лучшего на рынке и нет, книга в своем роде уникальна.Sergey Teplyakovhttps://www.blogger.com/profile/14300835272589262297noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-58548853788476858162014-04-17T00:21:48.489+03:002014-04-17T00:21:48.489+03:00А, ну или где-то он там писал про 14-страничный до...А, ну или где-то он там писал про 14-страничный доклад в своей компании на проекте, где он журил народ за то, что тот не соблюдает принципы DI. При этом в раздел 1.2.2 "достоинства внедрения зависимостей" занимает 3 листа, после прочтения которых ты не можешь до конца объяснить JD в чем все-таки преимущество соблюдения принципа. Ну, кроме возможности модульного тестирования, хорошо. Это у него очевидно и даже с примерчиком. А для остального - не постарался.Oleg Karpovhttps://www.blogger.com/profile/08544370686572178561noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-36342535125879499792014-04-17T00:07:50.036+03:002014-04-17T00:07:50.036+03:00Прочитал, кстати, ваш отзыв Сергей и решил приобре...Прочитал, кстати, ваш отзыв Сергей и решил приобрести. Как по мне - книга на троечку. Не слишком глубока для тех, кто уже имел дело с DI и имеет представление об IoC. Этих людей при прочтении ждет разочарование в части описания мотивации. Сложно привести пример, но практически во всех освещенных вопросах. Части книги с точками входа в различных типах приложений и описанием IoC-контейнеров вообще можно было опустить. Как только имеешь дело хоть с одним IoC, остальное читаешь в его документации. А если вернуться к примерам - ну, вот хотя бы схема 4.12 на стр. 178. Там ее без собственного опыта не осмыслишь, если просто надеется на его описание. Оно очень скудное, а потому алгоритм бесполезен. Видно, что у человека есть опыт, но при этом донести мотивацию в вопросе выбора или применения техник явно недостаточно. Многое приходится додумывать.Oleg Karpovhttps://www.blogger.com/profile/08544370686572178561noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-46870740183269100192014-04-02T15:44:02.903+03:002014-04-02T15:44:02.903+03:00Виктор, полезность - штука субъективная. По сравне...Виктор, полезность - штука субъективная. По сравнению с другими частями, в которых описываются ключевые особенности управления зависимостями, справочник мне показался излишним. Так сказать эта часть уменьшила cohesion книги и нарушила Single Responcibility Principle:)Sergey Teplyakovhttps://www.blogger.com/profile/14300835272589262297noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-41533662231320593552014-04-02T15:36:17.953+03:002014-04-02T15:36:17.953+03:004 часть - это просто справочник по контейнерам. 4...4 часть - это просто справочник по контейнерам. 4 часть - тоже полезна.Victor M.https://www.blogger.com/profile/13358771316500371997noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-21873433154367458092013-02-08T10:08:35.986+02:002013-02-08T10:08:35.986+02:00Идея сравнения контейнеров показалась интересной, ...Идея сравнения контейнеров показалась интересной, меня не вдохновила реализация:)Sergey Teplyakovhttps://www.blogger.com/profile/14300835272589262297noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-72904592895905984982013-02-08T05:20:29.522+02:002013-02-08T05:20:29.522+02:00По поводу непрактичных примеров - скорее соглашусь...По поводу непрактичных примеров - скорее соглашусь. Но что важно - одни и те же. Т.е. можно сравнить, как настраивать контейнеры под разными frameworks. Документация с контейнером описывает 1 контейнер, но не сравнивает его с другими. Здесь же была цель (как я вижу). Взять одну задачу и показать ее в разных контейнерах. В этом ее ценность.eugenehttps://www.blogger.com/profile/00368111825500921630noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-83440894755501747942013-02-07T22:42:11.971+02:002013-02-07T22:42:11.971+02:00Ну, мне не показалось, что того описания достаточн...Ну, мне не показалось, что того описания достаточно, чтобы сделать вывод о выборе контейнера. Слишком уж все под одну гребенку заточено. В этом и проблема: после прочтения книги мне не нужна эта глава, документации, которая идет с контейнером вполне достаточно.<br />З.Ы. "практичность" этой части тоже "так себе", уж очень там примеры "непрактичные" :)Sergey Teplyakovhttps://www.blogger.com/profile/14300835272589262297noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-6705464419359799742013-02-07T22:36:55.205+02:002013-02-07T22:36:55.205+02:00У меня не сложилось впечатление, что часть с описа...У меня не сложилось впечатление, что часть с описаниями контейнеров - хуже. Она - для другого. Первая часть - некое теоретическое обоснование - что такое хорошо и как с ним живут. Вторая часть - сугубо практическая. Есть цель - выбрать контейнер для проекта. Ага, смотрим, как умеет этот, как умеет этот. И вуаля - выбор сделан. Может быть стоило разделить на две книги, но тогда первая была бы слишком философская, а вторая - слишком примитивная. В общем, хорошая книга на все случаи :)eugenehttps://www.blogger.com/profile/00368111825500921630noreply@blogger.com