, если вы разбили свою бизнес-логику и слой данных на хорошо разделенные объекты, это работает хорошо. Но если у вас есть логика пользовательского интерфейса, это будет больно. Мой совет: отдельные проекты и модульное тестирование для пользовательского интерфейса, бизнес-объектов, бизнес-логики и данных и использование интерфейсов между каждым уровнем. Сделано это несколько раз, и это обеспечивает лучший способ. Конечно, вы уже привязаны к существующей системе.