2016-03-20 5 views
1

Я понимаю, что досрочная оптимизация - это зло. Но в моем приложении у нас много аналитики и отчетов о сбоях сторонних инструментов. они были распространены по всему коде. Мы используем ответы, Crashlytics, newRelic, Kochava, adobe analytics и т. Д. И т. Д. Было бы лучше использовать шаблон посетителя и сделать каждого из них посетителем, а затем сделать все java-файлы с помощью этих видимых? Я бы хотел, чтобы чистый способ отделить этот код от бизнес-логики. Как мне это сделать?Приложение с множеством аналитических фреймворков - должен ли я использовать vistorPattern

ответ

0

Есть две частей для задачи,

  1. Как сохранить свой код в чистоте без необходимости иметь дело со всем беспорядком добавленного путем интеграции сторонних утилит

  2. Как вызвать соответствующий инструмент соответствующее событие (например, аварийный репортер не следует вызывать для просмотра на экране)

Для решения этих проблем вы можете создать 2 службы (может быть больше b по состоянию на функциональность)

class IAnalyticsService { 
    void PageView(DetailsDto dto); 
    //TODO add other necessary methods 
} 

ICrashReporterService { 
    void Crashed(ErrorDto dto); 
    //TODO add other necessary methods 
} 

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