Показать сообщение отдельно
Старый 08.05.2011, 20:02
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 29  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Ага, как обломали подавана, понятно (ох, как я часто от коллег слышу "А давай этот класс сделаем синглтоном" - хочется увесистой книжкой по пальцам сразу).
А вот как вы ссылки тянете на эти сервисы в клиентские классы не очень.

Например есть модель:
- Юзер
--деревня
---грядка
Главный контроллер (его я даже не пытаюсь покрыть unit-тестами - он завязан на все и вся, но сложной логики там мало, большинство делегируется его детям и модели) инштанцирует СинхронизаторВремениССервером.
Если передавать его всем детям в стиле "push" получается:
- надо протащить ссылки через Юзера и деревню
- надо каждый раз передавать грядке синхронизатор при ее добавлении

Получается лезем в тесты Юзера и деревни, чтобы добавить в конструктор этот сервис (допустим, он нужен только грядке)
То что в тестах деревни может что-то зависеть от синхронизатора, который находится в Грядке - это другой вопрос.


Последний раз редактировалось expl; 08.05.2011 в 20:20.