Информация о книге

978-5-8459-1991-5

Главная  » Тематика определяется » Адаптивный код на C#. Проектирование классов и интерфейсов, шаблоны и принципы SOLID

Холл Г., Адаптивный код на C#. Проектирование классов и интерфейсов, шаблоны и принципы SOLID

Вильямс, 2015 г., 978-5-8459-1991-5


Наличие в интернет-магазинах

Магазинов: 1, Цена: от 3584 руб. посмотреть все

Описание книги

В этой книге рассматриваются практические вопросы гибкой разработки адаптивного кода с помощью проектных шаблонов и принципов SOLID: единственной ответственности, открытости-закрытости, подстановки Лисков, разделения интерфейса, внедрения зависимостей. В ней рассматривается организация процесса гибкой разработки приложений на C# по методике Scrum, выявление зависимостей и эффективного управления ними, программирование интерфейсов, применение шаблонов и исключение антишаблонов, модульное тестирование и реорганизация кода. Передовые методики и приемы гибкой разработки приспосабливающегося к изменениям кода обсуждаются на конкретных примерах, а в конце книги - на практическом примере отдельного проекта. Книга рассчитана на читателей, имеющих опыт программирования на C# в ИСР Visual Studio и на платформе .NET Framework, а также стимулы к гибкой разработке адаптивного кода. Как известно каждому разработчику, требования к разрабатываемому программному обеспечению подвержены изменениям. Но когда прикладной код наделяется приспособляемостью, то реагировать на изменения в требованиях к нему намного проще, избегая разрушительных переделок. Эта книга посвящена гибкому программированию, в ней описываются передовые методики, принципы и шаблоны, позволяющие создавать гибкий, адаптивный код, что повышает его коммерческую ценность. Это профессиональное руководство поможет читателю преодолеть разрыв между теорией и практикой, в частности: Усвоить методику Scrum: артефакты, роли, количественные показатели, стадии процесса разработки. Организовывать архитектурные зависимости и управлять ними. Освоить передовые методики применения шаблонов и исключения антишаблонов. Овладеть принципами SOLID: единственной ответственности, открытости-закрытости, подстановки Лисков, разделения интерфейса, внедрения зависимостей. Управлять универсальностью интерфейсов для адаптивного кода. Выполнять модульное тестирование совместно с реорганизацией кода. Понимать влияние делегирования и абстракции на приспособляемость кода. Изучить передовые приемы реализации внедрения зависимостей. Применять полученные знания в практике адаптивной разработки проектов. Примеры исходного кода доступны по адресу: https://github.com/garymcleanhall/AdaptiveCode. Об этой книге Предназначена для опытных разработчиков. Требует знания и опыта программирования на C#, Java или C++. Требует опыта объектно-ориентированного программирования и обращения с интерфейсами. Не подходит для новичков. Об авторе Гэри Маклин Холл является опытным разработчиком приложений на платформе .NET корпорации Microsoft и специализируется на применении проектных шаблонов, уделяя особое внимание написанию кода, способного адаптироваться к изменениям.

Купить эту книгу можно в интернет-магазинах

  Лабиринт - 3584 руб.
  Страница товара выбранного интернет-магазина откроется в новом табе

Ключевые слова

Поделиться ссылкой на книгу



Дополнительно о книге

Термин адаптивный код как нельзя лучше обозначает последствия применения принципов разработки программного обеспечения, рассматриваемых в этой книге, т.е. способность кода адаптироваться к любым новым требованиям или непредвиденным обстоятельствам без существенной его переделки. Назначение этой книги — соединить в одном издании многие передовые методики программирования на C# для разработки приложений на платформе .NET Framework корпорации Microsoft. И хотя этой же теме посвящено немало другой литературы, основное внимание в ней уделяется теории, а если и практике, то не разработке приложений на платформе .NET Framework. Процесс программирования может быть долгим. И если код адаптивный, то вносить изменения в него можно быстрее, легче и с меньшими ошибками, чем в работе с кодовой базой, затрудняющей внесение изменений. Как известно всем разработчикам, технические требования претерпевают изменения. Контроль над изменениями служит главным фактором, отличающим удачные проекты разработки программного обеспечения от неудачных, исчерпавшихся из-за расползания их рамок до неконтролируемых размеров. Разработчики могут по-разному реагировать на изменения технических требований, придерживаясь двух противоположных точек зрения на истину, которая обычно лежит посредине. С одной стороны, разработчики могут придерживаться жесткой точки зрения. При таком подходе к процессу разработки (вплоть до конструирования класса) проект становится негибким, как в те далекие времена, когда программисты набивали код программ на перфокартах. Водопадные методики разработки служат явными препятствиями к свободному внесению изменений в программное обеспечение. Раз и навсегда установленные ими стадии анализа, разработки, реализации и тестирования затрудняют или, по крайней мере, делают слишком дорогостоящими изменения технических требований после начала стадии реализации проекта. В таком случае код не нужно создавать с учетом возможных изменений, поскольку они запрещаются в самом процессе разработки. С другой стороны, разработчики могут выбрать гибкую методику, которая служит не альтернативой, а, скорее, реакцией на жесткие методики разработки. Гибкие процессы призваны охватить изменения как необходимую часть контракта между заказчиком и исполнителем. Если заказчикам потребуется изменить что-нибудь в программном продукте, за который они платят, затраты времени или финансов должны быть увязаны с объемом вносимых изменений, а не с текущей стадией процесса разработки. В отличие от проектирования осязаемых объектов, разработка программного обеспечения ведется весьма гибким инструментом: исходным кодом. Кирпичи и раствор буквально соединяются в единую кладку по ходу строительства дома. Расходы на изменение конструкции дома должны быть связаны с завершением стадии его строительства. Если строительный проект еще не начат, а находится на стадии вычерчивания чертежей, то внесение изменений обойдется относительно недорого. А если окна уже вставлены, электропроводка проведена и канализация подключена, то перенести спальню из верхнего этажа поближе к кухне будет недопустимо дорого. На первый взгляд, функции прикладного кода намного проще перенести из одного места в другое или переделать пользовательский интерфейс, но, к сожалению, это возможно далеко не всегда. Одни только затраты времени препятствуют подобным изменениям. А происходит это, главным образом, из-за того, что прикладному коду явно недостает адаптируемости. В этой книге демонстрируется второй подход к разработке программного обеспечения. На реальных примерах в ней поясняется, каким образом адаптивный код реализуется на практике.

Кому адресована книга
Эта книга преследует цель восполнить пробел между теорией и практикой. Она рассчитана на опытных программистов, которым требуются практические примеры применения проектных шаблонов, принципов SOLID, модульного тестирования, реорганизации кода и прочих передовых методик разработки программного обеспечения. Способные программисты среднего уровня, которым требуется восполнить пробел в знаниях и у которых имеются сомнения и вопросы по поводу совместного применения передовых методик разработки программного обеспечения, смогут извлечь наибольшую пользу из этой книги, особенно потому, что простые примеры и теория редко совпадают с повседневной практикой программирования. Большая часть принципов SOLID теперь понятна многим, но особые трудности вызывает соблюдение принципов открытости-закрытости и подстановки Лисков, рассматриваемых в главах 6 и 7 соответственно. Даже опытные программисты порой не полностью осознают выгоды, которые сулит принцип внесения зависимостей, обсуждаемый в главе 9. Аналогично из виду нередко упускается гибкость и приспособляемость интерфейсов благодаря адаптивному коду, как поясняется в главе 3. Менее опытным разработчикам эта книга поможет сразу разобраться в благоприятных и неблагоприятных в долгосрочной перспективе особенностях общих шаблонов и методик проектирования. У кода из примеров, рассматриваемых в этой книге с точки зрения их возможного практического применения, много общего. У этого кода есть почти все, что требуется для его нормальной эксплуатации, — остается лишь направить его в нужное русло, чтобы он стал много лучше. В частности, антишаблоны “Антураж” (Entourage; см. главу 2) и “Определитель служб” (Service Locator; см. главу 9) преобладают в примерах кода из этой книги, где также представлены практические альтернативы этим антишаблонам и доводы в пользу их применения.

Содержание книги

Введение 12
Часть I. Основы гибкой разработки 21
Глава 1. Введение в Scrum 23
Глава 2. Зависимости и разделение на уровни 67
Глава 3. Интерфейсы и проектные шаблоны 119
Глава 4. Модульное тестирование и реорганизация кода 151
Часть II. Написание кода по принципам SOLID 195
Глава 5. Принцип единственной ответственности 197
Глава 6. Принцип открытости-закрытости 235
Глава 7. Принцип подстановки Лисков 245
Глава 8. Принцип разделения интерфейса 279
Глава 9. Внедрение зависимостей 309
Часть III. Пример адаптивной разработки приложения 353
Глава 10. Пример адаптивной разработки приложения: введение 355
Глава 11. Пример адаптивной разработки приложения: спринт 1 369
Глава 12. Пример адаптивной разработки приложения: спринт 2 397
Приложение А. Инструментальные средства адаптивной разработки 413
Приложение Б. Примеры исходного кода из хранилища GitHub 420
Предметный указатель 427


Об авторе


Отзывы

Хорошая книга. Но перевод хромает.  [18 August 2015]
В переводе часто встречаются предложения, смысл которых обратный смыслу, который был в оригинальной версии. Вот пример раздела книги про CQRS паттерн.

"Commands are imperative calls to action, requiring the code to do something. These methods are allowed to change the state of a system but [[should not]] also return a value."
"Команды являются императивными вызовами действия, требуя от метода сделать что-нибудь. Таким методам разрешается изменять состояние системы, но в то же время они [[должны]] возвращать значение."

"Queries are requests for data, requiring the code to get something. These methods return data to calling clients but [[should not]] also change the state of a system."
"Запросы служат требованиями к прикладному коду на получение данных. Методы, выполняющие запрос, возвращают данные вызывающим клиентам, но они [[должны]] также изменять состояние системы."

Как видно из вышеописанных примеров, переводчик "зыбыл" частицу "not", переведя "should not" как "должны". Те читатели, которые изначают не знают про паттерн CQRS, могут быть сбиты с толку.

Стоит заметить, что сама книга в оригинале хорошая.

Последние поступления в рубрике "Тематика определяется"



Коллекционное холодное оружие Западной Европы XVII - начала XIX вв. 

Издание посвящено уникальным образцам охотничьего и боевого холодного оружия из частных собраний европейских коллекционеров. Каждый экземпляр сопровождается экспертным описанием, оценкой степени его сохранности и подробными авторскими иллюстрациями....

Терапевтическая катастрофа. Мастера психотерапии рассказывают о самых провальных случаях 

Ни один психотерапевт не застрахован от ошибок в работе с клиентами, но мало кто готов открыто обсуждать собственные неудачи. Авторы книги решили наглядно показать, что просчеты и промахи - это не только неотъемлемая сторона профессии, но и повод вынести для себя ценные уроки....

Любовь к человеку с пограничным расстройством личности 

Люди с пограничным расстройством личности (ПРЛ) могут быть очень заботливыми, нежными, умными и веселыми - и при этом своим поведением отталкивать даже самых близких людей. Если у вас непростые отношения с человеком, который страдает от ПРЛ, то эта книга - для вас....

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Холл Г., Адаптивный код на C#. Проектирование классов и интерфейсов, шаблоны и принципы SOLID в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.