Это утомительная неделя из-за детского гриппа. Быть здоровым!
[Программирование] При интеграции похожих сервисов с разными API-интерфейсами изучен разный дизайн.
Я работал над внутренней системой, которая объединяет несколько API отчетов рекламной сети. Чтобы получить от них отчет, нам нужно передать дату начала, дату окончания и размеры для показателей. Вначале с одним поставщиком очень просто сделать так, чтобы наша программа выглядела так, как показано на диаграмме ниже. Оболочка сервера, которая предоставляет интерфейсу необходимые аргументы.
И довольно легко перейти к следующей диаграмме, когда мы добавим вторую, третью и так далее.
Выглядит неплохо, но что, если у некоторых оболочек есть больше необходимых аргументов для запроса, наша основная программа будет слишком много знать об этих оболочках. Поэтому мы ввели класс QueryContext, который собирает все аргументы для работы, и экземпляр контекста будет передаваться в каждую оболочку. Оболочки связываются с контекстом для той информации, которая им необходима для выполнения работы. Обновленная диаграмма ниже.
Итак, какие преимущества мы получили от последнего дизайна?
- Разделите основную программу и оболочки, чтобы было легче протестировать нашу основную программу.
- Оболочки обладают собственными знаниями о том, как подготовить запрос для выполнения запроса из основной программы.
[Чтение] Организуйте знания
«Как я систематизирую свои знания в качестве инженера-программиста
Разработка программного обеспечения и технологии в целом - это области, которые развиваются очень быстрыми темпами, и непрерывное обучение - это… dev. к"
Всегда есть возможности улучшить то, как я систематизирую свои чтения и выводы. В этом посте рассказывается о нескольких сервисах для систематизации наших знаний. Я пользуюсь некоторыми услугами, но не использую их таким образом. Некоторые другие услуги для меня новы. Было бы интересно попробовать.