
08.05.2011, 20:02
|
|
блогер
Регистрация: Feb 2006
Сообщений: 1,474
|
Ага, как обломали подавана, понятно (ох, как я часто от коллег слышу "А давай этот класс сделаем синглтоном" - хочется увесистой книжкой по пальцам сразу).
А вот как вы ссылки тянете на эти сервисы в клиентские классы не очень.
Например есть модель:
- Юзер
--деревня
---грядка
Главный контроллер (его я даже не пытаюсь покрыть unit-тестами - он завязан на все и вся, но сложной логики там мало, большинство делегируется его детям и модели) инштанцирует СинхронизаторВремениССервером.
Если передавать его всем детям в стиле "push" получается:
- надо протащить ссылки через Юзера и деревню
- надо каждый раз передавать грядке синхронизатор при ее добавлении
Получается лезем в тесты Юзера и деревни, чтобы добавить в конструктор этот сервис (допустим, он нужен только грядке)
То что в тестах деревни может что-то зависеть от синхронизатора, который находится в Грядке - это другой вопрос.
Последний раз редактировалось expl; 08.05.2011 в 20:20.
|