Да архитектура в принципе простая, как всегда.
1. DAO (Hibernate)
2. Services
3. DTO assemblers (жуткий самописный фрамеворк на аннотациях)
4. Facade
Бизнес логики на клиенте не было. Транзакции висели на фасадах.
Самым проблемным был п.3. Было необходимо поддерживать довольно сложные правила конверсии из бизнес-сущностей в DTO и обратно (в том смысле что конверсии одного и того же бина с-клиента и на-клиент чаще всего отличались). Собственно, именно из-за этого я разочаровался во Flex — кажущаяся красивость и простота оборачивается в DTO-hell.
Вот и получилось собственно, что для того, чтобы хоть что-то протестировать надо писать integration тесты для фасадов на реальную базу данных.
Я собственно почему спрашиваю. Был недавно проект — Java на стороне сервера и Flex в качестве клиента.
Схема доступа к данным следующая: DAOServicesDTO Assemblers Facade.
Опыт показывает, что писать тесты на DAO в этом случае — совершенно бесполезно. Т.е. пока не дернуть соответствующий метод фасада — нет никакой гарантии что это будет работать.
И моки на объекты оказались скорее вредны, чем полезны
И действительное положение вещей показывали именно функциональные тесты на фасады
В общем какой-то диссонанс полный с теорией…
У какого-нибудь стивапавлины эта статья смотрелась бы отлично. А здесь ментальность не та.
Идти к российскому инвестору с интернет стартапом - что метать бисер перед свиньями.
Буду очень благодарен за пример, скажем 5, успешных российских интернет стартапов.
1. DAO (Hibernate)
2. Services
3. DTO assemblers (жуткий самописный фрамеворк на аннотациях)
4. Facade
Бизнес логики на клиенте не было. Транзакции висели на фасадах.
Самым проблемным был п.3. Было необходимо поддерживать довольно сложные правила конверсии из бизнес-сущностей в DTO и обратно (в том смысле что конверсии одного и того же бина с-клиента и на-клиент чаще всего отличались). Собственно, именно из-за этого я разочаровался во Flex — кажущаяся красивость и простота оборачивается в DTO-hell.
Вот и получилось собственно, что для того, чтобы хоть что-то протестировать надо писать integration тесты для фасадов на реальную базу данных.
Схема доступа к данным следующая: DAOServicesDTO Assemblers Facade.
Опыт показывает, что писать тесты на DAO в этом случае — совершенно бесполезно. Т.е. пока не дернуть соответствующий метод фасада — нет никакой гарантии что это будет работать.
И моки на объекты оказались скорее вредны, чем полезны
И действительное положение вещей показывали именно функциональные тесты на фасады
В общем какой-то диссонанс полный с теорией…
А как тогда такой вариант - Хабр конечно, классный сайт.
Только большинство пользователей - говно.
У какого-нибудь стивапавлины эта статья смотрелась бы отлично. А здесь ментальность не та.
Идти к российскому инвестору с интернет стартапом - что метать бисер перед свиньями.
Буду очень благодарен за пример, скажем 5, успешных российских интернет стартапов.
Или я не понял смысла поста.
Кто заставляет-то?
Купи себе телефон, сигареты, солдатиков, лошадь в конце концов.
А лучше - не смотри так часто рекламу.
__________________________
Самый отрицательный пользователь. Понизь мне карму!
-------------
Самый отрицательный пользователь. Понизь мне карму!
-------------
Самый отрицательный пользователь. Понизь мне карму!
Ну плиииз?