你的评论

Thanks, I'm glad that you like it.

Hi!

Thanks a lot for your feedback! I'm glad that you like it here! Graphis for the site is a result of me generating very crappy first drafts and the illustrator Dmitry Zhart turning them into something really nice.

Thanks for the kind words, Ahsan!

Думаю, это можно рассматривать как первый шаг в сторону полного разделения. Лично я считаю, что небольшое улучшение лучше, чем полномасштабная перекройка всего. Небольшие безопасные шажки могут со временем вывести к отличному результату.

Спасибо за идею! Ничего не могу гарантировать, но я подумаю над этим.

Максим, здравствуйте!


Оба паттерна действительно похожи механизмом реализации — оба работают как обёртки. Полагаю, вы уже видели этот кусок из главной статьи:


Декоратор и Заместитель имеют схожие структуры, но разные назначения. Они похожи тем, что оба построены на композиции и делегируют работу другим объектам. Паттерны отличаются тем, что Заместитель сам управляет жизнью сервисного объекта, а обёртывание Декораторов контролируется клиентом.


...поэтому могу предположить, что вопрос для вас не до конца раскрыт.


Могу добавить, что паттерны это не только про код, но и про общение, общий словарь для программистов. Если вы скажете кому-то "я делаю прокси для класса базы данных" он однозначно поймёт, что вы делаете либо кеш, либо ленивую инициализацию, или что-то вроде того. Он не будет предполагать, что ваш "прокси" можно будет оборачивать другими "прокси", как это было бы возможно с декоратором.

Здравствуйте, Сергей!

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

Павел, здравствуйте!

Спасибо за ваше сообщение. В последней версии книги эта проблема уже исправлена. Рекомендую вам скачать новую версию, там исправлено ещё несколько небольших косяков.

Руслан, здравствуйте!

Спасибо за хороший вопрос. Скорее всего, курсов, которые на постоянной основе ведёт живой преподаватель здесь не будет. Тем не менее, я готовлю вторую редакцию курса о рефакторинге, в которой появятся тесты и упражнения для лучшего закрепления пройденного.

Hi Matthias!

Thanks for reporting this! It's definitely a bug and I've just fixed. Thanks again!

UserEcho 的客户支持