Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, Doom100500, Вы писали:
D>>Класс. Требования уже проясняются. Подумай ещё. У тебя выразится дезигн, а тесты сами придут исходя из требований.
S>Требования тут во многом интуитивно понятны — просто нужно восстановить сессию, если она устарела.
S>Тут в другом вопрос — как проверить что все корректно будет работать в многопоточной среде?
Чтобы проверять многопоточную среду — надо определить требования к этой среде.
— Кто управляет потоками, где они создаются, где уничтожаются?
— Какое состояние у этих потоков, как его можно получить?
— Как осуществляется коммуникация между этими потоками?
Как только научишся в своей кодовой базе иметь контроль над потоками (а не ожидать магии от фреймворка, или кода, порождённого известным чатом) тогда тебе все ответы сами придут.
Ты привёл интерфейс с двумя методами. Да, у них есть названия, но требования не внятные (звучат как "сделай мне хорошо при условии, что я знаю чего хочу").
По мере обсуждений требований к твоему провайдеру, вдруг возникают требования и к клиентскому коду, и к тому, что стоит за этим провайдером.
Тесты обсуждаются когда дизайн готов. А так мы тут придумываем дизайн вместо обсуждения тестов.
Или ты просто на эффективного менеджера переучился (уж очень постановка задач похожа).