Бизнес-логика в конструкторах?
От: Airat Burganov Россия http://www.burganov.com
Дата: 16.05.07 19:13
Оценка:
Небольшой спор у меня возник с товарищем. Вот предположим мы делаем класс соединяющийся с 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);

Я категорически с этим не согласен, но внятно аргументировать свою позицию не могу, может вы поможете?
Если же не прав я, то тоже объясните почему.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.