Это утомительная неделя из-за детского гриппа. Быть здоровым!

[Программирование] При интеграции похожих сервисов с разными API-интерфейсами изучен разный дизайн.

Я работал над внутренней системой, которая объединяет несколько API отчетов рекламной сети. Чтобы получить от них отчет, нам нужно передать дату начала, дату окончания и размеры для показателей. Вначале с одним поставщиком очень просто сделать так, чтобы наша программа выглядела так, как показано на диаграмме ниже. Оболочка сервера, которая предоставляет интерфейсу необходимые аргументы.

И довольно легко перейти к следующей диаграмме, когда мы добавим вторую, третью и так далее.

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

Итак, какие преимущества мы получили от последнего дизайна?

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

[Чтение] Организуйте знания



«Как я систематизирую свои знания в качестве инженера-программиста
Разработка программного обеспечения и технологии в целом - это области, которые развиваются очень быстрыми темпами, и непрерывное обучение - это… dev. к"



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