Questions/typos/bugs in my book "Design patterns in .NET"
sergeyteplyakov / designpatternsbookissues Goto Github PK
View Code? Open in Web Editor NEWQuestions/typos/bugs in my book "Design patterns in .NET"
License: MIT License
Questions/typos/bugs in my book "Design patterns in .NET"
License: MIT License
Пока все. :)
Страницы у книжки очень тонкие, просвечиваются...
Но главное чтобы материал был познавательный. Спасибо.
Upd1:
7. стр 217. первая строка листинга. LogImportRuleRejectOldEbtriesWithLowSeverity <- разделителей не хватает
выложили бы свою книгу в свой репозиторий
- В листинге 6.1 в методе SaveLogEntry() что-то не в порядке с веткой
else
. Должно быть
if (simpleLogEntry != null)
SaveSimpleLogEntry(simpleLogEntry);
else
throw new InvalidOperationException(...);
А лучше сделать метод «плоским», добавив
return
ы вместоelse
.
- Комментарий названия паттерна от Скотта Мейерса в статье «My Most Important C++ Aha! Moments...Ever»: «Then, one day, I made a fundamental realization: the Visitor Pattern has nothing to do with visitation.»
Оригинал пожеланий: http://rsdn.ru/forum/education/6052091.1
BB>Добрый день.
BB>Читаю сейчас Вашу книгу, нравится, но есть такой вопрос-пожелание. Вы часто в тексте приводите ссылки на свои или чьи-то статьи, к которым хотелось бы позднее вернуться. Было бы очень удобно, чтобы где-нибудь, например, в Вашем блоге был полный перечень этих ссылок в том порядке, в котором они встречаются в книге. Сейчас по прочтении трети книги возвращаться и сканировать текст на наличие ссылок довольно проблематично.
Страница 98, список в верхней половине, пункт 4: «когда на наблюдатель» -> «когда на наблюдателя»
Страница 177, последний абзац текста: «Xunit» -> «xUnit»
Опечатки:
0. стр. 58 и 59: не хватает круглых скобочек на диаграммах для оператора foreach, например вместо "foreach line in ReadLog()", должно быть "foreach(var line in ReadLog())"
1. стр. 115: в следующем предложении слово "Стратегия" должно быть заменено на слово "Состояние".
В .NET Framework конечные автоматы применяются в огромном числе классов, но классической реализации паттерна "Стратегия" среди открытых (public) типов .NET Framework я не нашел.
2. стр. 130: на диаграмме в тексте ".Net version?", слово .NET должно писаться большими буквами.
3. стр. 156: слово "Timespan" должно писаться как "TimeSpan". В слове "FromMilliseoncds" опечатка, должно быть "FromMilliseconds"
4. стр. 162: в почтовом адресе "[email protected]" пропущена буква "t", эта же ошибка повторяется на нескольких других страницах.
5. стр. 174: в слове "autofac" первая буква должна быть заглавной, так как это имя библиотеки. Пруф
6. стр. 193: на диаграмме слово "PurelyAsynclogSaver" должно писаться, как "PurelyAsyncLogSaver"
7. стр. 194: слова "fromsinobj" и "boolMoveNext" должны писаться как "from s in obj" и "bool MoveNext"
8. стр. 196: слова "varcc" и "newCustomCollection" должны писаться как "var cc" и "new CustomCollection". Также слово "ReadonlyCollection" должно писаться как "ReadOnlyCollection".
9. стр. 198: на диаграмме в словах "ExecuteNonQuerty", "querty", "SqlServerFasade" опечатки
10.стр. 204: слово "boolQuotaReached" должно писаться как "bool QuotaReached"
11.стр. 206: слово "awast" должно писаться как "await"
12.стр. 208: слова "IntermediateLanguage" и "Unityinterceptors" должны писаться как "Intermediate Language" и "Unity interceptors"
13.стр. 211: на диаграмме слово "WhriteString" должно писаться, как "WriteString"
14.стр. 206: слово "LogImportRuleRejectOldEntriesWithLowSeverity" должно писаться как "LogImportRule RejectOldEntriesWithLowSeverity", так же похоже, что в предложении
Фабричные методы, такие как Use, Or и And, предназначены для создания ...
допущена смысловая ошибка, вместо слова "Use", надо использовать слово "Import"
15.стр. 222: слова "publicvoidSaveLogEntryAtTheBackend" и "newLogSaverClient" должны писаться как "public void SaveLogEntryAtTheBackend" и "new LogSaverClient". Также, похоже, что в слова "binding" и "endpoint" должны быть во множественном числе.
16.стр. 224: слово "ASP.NETWebAPI" должно писаться как "ASP.NET Web API"
17.стр. 226: слова "Object-RelationalMapping", "EntityFramework" и "dataentites" должны писаться как "Object-Relational Mapping", "Entity Framework" и "data entites".
18.стр. 237: слова "varfilein" и "IEnumerablelogEntries" должны писаться как "var file in" и "IEnumerable logEntries"
19.стр. 241: слово "lowcohesion" должно писаться как "low cohesion"
20.стр. 259: выражение "discriminate dunions" должно писаться как "discriminated unions"
21.стр. 273: лишнее многоточие после строчки "return true;"
22.стр. 282: слова "varparser", "newLogEntryParser" и "varlogEntry" должны писаться как "var parser", "new LogEntryParser" и "var logEntry".
23.стр. 288: на диаграмме слово "BackenLogEntryParser" должно писаться, как "BackendLogEntryParser"
24.стр. 289: выражение в скобках (Model — View — Controller, "Модель — представление — контроллер"), должно писаться как (Model — View — Controller, "Модель — Представление — Контроллер")
25.стр. 290: выражение в скобках (Model — View — Presenter, "Модель — представление — презентер"), должно писаться как (Model — View — Presenter, "Модель — Представление — Презентер"),
так же на диаграмме в слове "Qutput" есть опечатка.
26.стр. 291: выражение в скобках (Model — View — View Model, "Модель — представление — модель представления"), должно писаться как (Model — View — View Model, "Модель — Представление — Модель Представления")
27.стр. 293: в имени книги "Dependency Injectionin .NET" пропущен пробел.
Смысловые замечания и комментарии:
- Коды напечатаны очень плохо. Очень много пустых строк. Да еще интервал между строками больше, чем интервал в тексте.
Не знаю, с чем связано - макет такой был, что ли? Или уже в типографии накосячили...- В одном месте принцип подстановки Лисков назван принципом замещения Лисков - как будто переводил с английского переводчик - не программист... :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.