MiksIr, ну вон я написал код который делает ровно все перечисленное (только бизнес-логики нет, но подразумевается, что она тоже там).
RDG - это тоже прямой маппинг объекта на строку в базе. Отличие действительно одно.
Из перечисленных у Фаулера паттернов только DM дает полноценную отвязку полей моделей от структуры таблиц и возможность работы одновременно с несколькими связанными моделями.
У меня старое издание, там этого абзаца нет, пойду загуглю
UPD:
А, не, все есть, это искалка тупит. FK mapping-то. Ну все равно никуда не уходим от model==table, плюс "лобовая" реализация с созданием моделей по FK, во-первых, негодна, поскольку не в транзакции, во-вторых, не решает проблемы связей сложнее, чем 1:1. Собственно, сам Фаулер о FK mapping рассказывает на примере DM.