Я думаю, что методы расширения подходят только в том случае, если есть веская причина сделать метод методом расширения.
Если типом является тот, которым вы не управляете, и метод должен казаться неотъемлемым для типа, или если есть веская причина не использовать метод непосредственно для типа (например, создать нежелательный тип)зависимости), тогда может быть уместен метод расширения.
Лично, если ожидание пользователя вашего API уже будет использовать класс ActivityHelper при работе с коллекциями Activity, то я, вероятно, не буду создаватьметод расширения для этого.Стандартный метод без расширения будет на самом деле более простым API, поскольку его легко понять и обнаружить.Методы расширения сложны с точки зрения использования - вы вызываете метод, который "выглядит так", что он существует где-то, а не там, где он действительно существует.Хотя это может упростить синтаксис, оно снижает удобство сопровождения и возможности обнаружения.