Небольшой спор у меня возник с товарищем. Вот предположим мы делаем класс соединяющийся с Rapidshare по вебу и забирающий оттуда файлы (реальная задача другая, это просто пример).
Схема использования класса следующая
Rapidshare rp = new Rapidsharel(login, password, other parameters....);
rp.login();
Download dld = rp.downloadFile(url);
замечу, что всякий раз после создания класса Rapidshare необходимо вызывать функцию login() (которая логиниться к платному рапидшарному аку и устанавливает нужные кукисы), а потом уже можно непосредственно скачивать различные файлы
Мой товарищ утверждает, что вызов функции login() можно и нужно поместить в конструктор и соответственно работать следующим образом:
Rapidshare rp = new Rapidsharel(login, password, other parameters....);
Download dld = rp.downloadFile(url);
Я категорически с этим не согласен, но внятно аргументировать свою позицию не могу, может вы поможете?
Если же не прав я, то тоже объясните почему.