Работая в индустрии программного обеспечения, я часто натыкаюсь на гигантского грязного макаронного монстра. Да, работа с унаследованным кодом — часть моей повседневной деятельности. Мне было интересно, почему большинство из них представляют собой код PHP, все ли базы кода PHP выглядят так? или это только мне, мне не повезло, что мне приходится работать и исправлять такую ​​базу кода PHP. На моей текущей работе я также в основном читаю и переписываю спагетти-монстра PHP на разные языки и разбиваю его на микросервисы.

Несколько месяцев назад я начал углубляться в рефакторинг и лучшие практики очистки кода. Я пытался найти хороший источник для изучения этой конкретной темы, пока не наткнулся на сайт под названием Гуру рефакторинга. Я купил один курс и одну книгу. Я думаю, что книга и курс внушают благоговейный трепет, я рекомендую вам ознакомиться с ними. Здесь я попытался поделиться тем, что я узнал до сих пор. Я также постараюсь предоставить примеры реализации на Ruby (потому что я Ruby-разработчик) или, возможно, добавлю и другие языки.

Шаблон проектирования

Шаблон проектирования — это типичное решение общих проблем при разработке программного обеспечения. Подробнее об этом можно прочитать в книге или на сайте. Здесь я приведу примеры реализации каждого паттерна. Я буду обновлять этот список по мере написания постов по каждому примеру. Шаблон разбит на три категории.

Шаблон создания

  • Заводской метод
  • Абстрактная фабрика
  • Строитель
  • Опытный образец
  • Синглтон

Структурный шаблон

  • Адаптер
  • Мост
  • Композитный
  • Декоратор
  • Фасад
  • Летающий вес
  • Прокси

Поведенческий паттерн

  • Цепочка ответственности
  • Команда
  • Итератор
  • Медиатор
  • Моменто
  • Наблюдатель
  • Состояние
  • Стратегия
  • Метод шаблона
  • Посетитель

Оставайтесь с нами, пока я пишу пост 💜