Domain model + Data mapper + Service Layer

Всем привет. После прочтения кучи материалов из книг и интернета образовалась каша в голове, и путаница в терминах. Может есть кто особо просвещенные? В инете много бесед по этому поводу, но все они обрываются на самых интересных местах без ответа. Начнем…
Для простоты и понимания предлагаю сначала нивелировать все обсуждение на livestreet. Проблема в организации модели данных. На сколько я могу понимать в livestreet используется domain model(с минимальной логикой домена) + data mapper. (Это паттерны из Фаулера) Смотрим ссылку , тут человек пишет, что в модели должен быть еще сервисный слой. Если я правильно понимаю, то в livestreet — это главный файл модуля. Но по Фаулеру сервисный слой это совсем другое, и применительно к livestreet — этот слой был бы прослойкой между контроллером и главным файлом модуля. То есть контроллер дергал был сервисный уровень, а уровень уже модуль.
Вопросы:
1) Правильно ли я понимаю картину?
2) Чем на самом деле является главный файл модуля? К чему его относить? К domain model?