Итак, когда мы думаем о карьерном росте в сфере технологий, мы склонны думать о переходе от младшего к старшему, чтобы привести от архитектора к главному архитектору.

В какой-то степени это упускает момент, потому что отсутствует доступ к техническим навыкам с того уровня, на котором они находятся. Это то, что чаще всего описывается как потребитель фреймворка для создателя фреймворка. Итак, вы начинаете использовать reactJS, spring, vueJS в зависимости от парадигмы, с которой вы работаете. Говорят, что вы перемещаете технологическое мастерство с того места, где вы потребляете фреймворк, туда, где вы сейчас создаете фреймворк, которым пользуются десятки тысяч других инженеров, которые могут стать вашими потребителями.

  1. Владение языком.
  2. Структуры данных и алгоритмы
  3. Шаблоны проектирования

Итак, чтобы достичь этого, вы должны построить свой набор технологических навыков.

1. Синглтон Паттенс

У вас есть драйвер БД, и вы хотите получить список всех клиентов. Вы запрашиваете все объекты клиентов. Может быть только один драйвер для предоставления списка всех объектов клиентов.

Плюсы: единый драйвер базы данных можно использовать для получения списка всех параметров конфигурации или текущего состояния приложения и т. д. Вы можете получать данные в любое время без узких мест.

Примечание. Вы можете слишком рано перейти на одноэлементную платформу, и очень сложно вернуться назад и изменить конфигурацию.

Вы должны убедиться, что используете правильный шаблон в нужное время.

2. Узор фасада

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

Примечание. У вас может быть дырявая абстракция. Чрезмерная верикализация приводит к тому, что при создании фасада используется только один вариант использования или он не может быть обобщен.

3. Шаблон моста:

С точки зрения программного обеспечения разработчики создают API для подключения к базе данных и интерфейсу.

Теперь на стороне сервера у вас есть драйвер БД, прежде чем у вас есть абстрактный интерфейс для драйвера БД. Затем следует конкретная реализация для БД, а именно mongo, DynamoDB и т. д. Это позволяет создать продукт, который можно использовать для самых разных клиентов и ситуаций.

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

4. Шаблон стратегии:

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

Таким образом, шаблон стратегии очищается и упрощает его использование, после чего вы можете использовать эту библиотеку/систему в различных сценариях.

Примечание. Убедитесь, что у вас есть достойные стратегии по умолчанию для использования в различных сценариях.

5. Шаблон наблюдателя

Он есть везде: сервер, MQ, клиент, pub-sub есть везде, потому что он допускает слабую связь издателя и создает события, которые слушают подписчики на эти события.

Недостатки: С ним можно переборщить. Если все взаимодействует с событием, оно попадает в неприятный цикл событий, и становится сложнее отлаживать более поздний момент времени.

Примечание.

Прежде чем внедрять шаблон наблюдателя, убедитесь, что вы не используете одну и ту же шину обмена сообщениями: Разделяйте издателей и подписчиков.

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

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

Кредиты: Шаблоны проектирования Эриха Гаммы.