Данная книга представляет собой результат многолетнего опыта профессионального программиста по применению шаблонов проектирования. Авторский подход к проектированию состоит в том, что следует избегать как недостаточного, так и избыточного проектирования, постоянно анализируя готовый работоспособный код и реорганизуя его только в том случае, когда это приведет к повышению его эффективности, упрощению его понимания и сопровождения. Шаблоны проектирования — не панацея, так что бывают как ситуации, когда такая реорганизация должна выполняться с использованием шаблонов проектирования, так и ситуации, когда наилучшее решение состоит в отказе от них.Автор на основании как собственного, так и чужого опыта детально рассматривает различные признаки кода, требующего рефакторинга, описывает, какой именно рефакторинг наилучшим образом подходит для той или иной ситуации, и описывает его механику, подробно разбирая ее на конкретных примерах из реальных задач.Книга может рассматриваться и как учебник по рефакторингу для программиста среднего уровня, и как справочное пособие для профессионала, которое может подсказать, какое именно решение стоит принять в той или иной сложной ситуации.
Dannaja kniga predstavljaet soboj rezultat mnogoletnego opyta professionalnogo programmista po primeneniju shablonov proektirovanija. Avtorskij podkhod k proektirovaniju sostoit v tom, chto sleduet izbegat kak nedostatochnogo, tak i izbytochnogo proektirovanija, postojanno analiziruja gotovyj rabotosposobnyj kod i reorganizuja ego tolko v tom sluchae, kogda eto privedet k povysheniju ego effektivnosti, uproscheniju ego ponimanija i soprovozhdenija. Shablony proektirovanija — ne panatseja, tak chto byvajut kak situatsii, kogda takaja reorganizatsija dolzhna vypolnjatsja s ispolzovaniem shablonov proektirovanija, tak i situatsii, kogda nailuchshee reshenie sostoit v otkaze ot nikh.Avtor na osnovanii kak sobstvennogo, tak i chuzhogo opyta detalno rassmatrivaet razlichnye priznaki koda, trebujuschego refaktoringa, opisyvaet, kakoj imenno refaktoring nailuchshim obrazom podkhodit dlja toj ili inoj situatsii, i opisyvaet ego mekhaniku, podrobno razbiraja ee na konkretnykh primerakh iz realnykh zadach.Kniga mozhet rassmatrivatsja i kak uchebnik po refaktoringu dlja programmista srednego urovnja, i kak spravochnoe posobie dlja professionala, kotoroe mozhet podskazat, kakoe imenno reshenie stoit prinjat v toj ili inoj slozhnoj situatsii.