Я сам никогда не реализовывал, только слышал... Думаю может я отстал от жизни и так и надо оформлять работу с БД? Я так понимаю, что главное назначение этого паттерна — это отслоение непосредственной работы с БД. Но фактически, кажется отслоения не происходит (ведь при работе с объектами класса Query фактически мы составляем тот же запрос, только в форме ООП) а происходит внедрение дополнительного (лишнего?) слоя. Во-вторых, по-крайней мере для меня, SQL запрос выглядит нагляднее и проще. Сам я обычно запросы выношу в хранимые процедуры, использую параметры (SQLCommand.Parameters), так вообще получается наглядно и просто, работу с SQLCommand и Ко. иногда выношу в отдельный файл класс.
Поправьте, если я не прав, пожалуйста. Что вы думаете по поводу Query Object и как профессионалы оформляют работу с БД в своих приложениях? Сам в основном занимаюсь написанием бизнес приложений.