Для меня , передавая один context
- это то, как я называю этот «переносной» объект, уместным.Как уже говорилось, если вы хотите поддерживать будущие добавления или удаления некоторых частей этого объекта - это легко сделать.
Но бывают случаи, когда я пропускаю только отдельные отдельные части.Это тот случай, когда вы хотите протестировать метод и если для метода требуются дополнительные объекты - я хочу, чтобы тесты не выполнялись.
// context contains first and second
public void testMe(Context context) {
}
vs
public void testMe(String first, String second){
}
Добавление еще одногопараметр context
, например String third
- скорее всего, сделает ваш тестовый проход;но добавление еще одного параметра к методу, который ожидает два ... Легко игнорировать написание модульного теста, намного сложнее игнорировать ошибку компиляции.Поэтому иногда у нас есть код, который принимает больше аргументов по этой причине.
Что касается производительности, я сомневаюсь, что вы когда-нибудь почувствуете разницу (даже если она существует), ведь проходящие объекты фактически передают ссылку.