Альтернативный шаблон доступа к данным в хранилище - PullRequest
0 голосов
/ 05 марта 2009

У меня есть определенные объекты в моем домене, которые не являются совокупными корнями / объектами, но мне все еще нужно извлечь их из базы данных. Я не хочу путать вещи, создавая хранилища для этих вещей. Итак, каковы альтернативные шаблоны доступа к данным? Не могли бы вы просто создать для них DAO, в то же время разделяя интерфейс?

Edit:

Еще немного подробностей о том, что я делаю. Мне нужно создать код. Этот код имеет определенные правила в отношении его формата. Одно из правил заключается в том, что последний символ должен быть уникальным числом, увеличенным на единицу из последнего сгенерированного кода. Например:

ABCD1 ABCD2 ABCD3

Итак, я держу таблицу с одной строкой и одним столбцом для хранения рассматриваемого числа. Теперь я не хочу считать этот номер сущностью и создавать для него хранилище - это излишне. Мне просто нужен способ получить номер, добавить 1 к нему и сохранить его. Я знаю, что есть множество способов сделать это, но мне интересно, есть ли обычный способ.

Ответы [ 3 ]

2 голосов
/ 05 марта 2009

В теории существует несколько моделей доступа к данным. Вам нужно будет предоставить более подробную информацию, если вы хотите, чтобы мы предложили конкретный шаблон.

Если не вдаваться в подробности, все, что я могу предложить, - это рассмотреть Шаблоны корпоративной прикладной архитектуры Мартина Фаулера книга.

Редактировать: Обычный способ? Нет, не то, чтобы я мог думать - это действительно зависит от того, где и как вы используете этот уникальный код в вашем домене. Если бы я делал это, я бы, вероятно, создал бы небольшую службу, которая будет напрямую обращаться к базе данных для выполнения этой функции - не такую ​​тяжелую, как хранилище, и очень сосредоточенную на рассматриваемой проблеме.

0 голосов
/ 05 марта 2009

После изучения параметров я собираюсь использовать шаблон Table Gateway.

0 голосов
/ 05 марта 2009

На основании редактирования: я бы сначала посмотрел на контекст, в котором вам нужно создать этот код. Возможно, есть какие-то связанные объекты или что-то, чего вам не хватает.

Кстати, я нахожу вопрос действительно интересным, поскольку он время от времени поднимается при кодировании конкретных функций. Я обычно заканчиваю тем, что обнаружил, что что-то упустил в сценарии, и это в итоге хорошо вписывается в обычный шаблон хранилища.

...