Шаблон проектирования Data Mapper и шлюзы ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Шаблон проектирования Data Mapper и шлюзы

Сообщение Anonymous »

Пожалуйста, поправьте меня, если я ошибаюсь:

Если мы будем использовать шаблон Dao/Vo или шаблон TDG, мы получим хорошую организацию кода, имея for каждая (или, по крайней мере, множество) таблиц относится к связанному классу.

Проблема этого подхода заключается в том, что данные НЕ ЗАКРЫТЫ внутри данной таблицы. У нас есть некоторые данные, специфичные для домена, такие как findDogBreed(); или findBookBestSellerAuthor();, и приведенные выше шаблоны, похоже, не очень хорошо справляются с этим.

Единственное решение — использовать Mappers. Сопоставители будут содержать набор методов и свойств, связанных с одной таблицей, НО они не будут закрыты только для этой таблицы и не будут связаны с конкретной схемой SQL.

Проблема в том, что если мы начнем абстрагировать все эти вещи, у нас НЕ будет доступа к синтаксису SQL. Что, если нам понадобится, чтобы над этим поработал наш администратор базы данных? А в более сложных запросах использование картографов может привести к действительно запутанной абстракции.

Правильно ли это? Если да, то мне интересно, какие у нас есть пути, чтобы найти здесь средний термин.

Подробнее здесь: https://stackoverflow.com/questions/577 ... d-gateways

Вернуться в «Php»