2009-03-05 5 views
0

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

Edit:

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

ABCD1 ABCD2 ABCD3

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

+0

Помог ли хоть один из ответов? –

ответ

0

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

+5

@NG - чтобы ваш ответ был более полезным для тех, кто встречает ответ в будущем, можете ли вы представить резюме этого шаблона? возможно ссылки (ссылки) на статьи об этом шаблоне? – Maslow

+0

Таблица данных Gateway: http://martinfowler.com/eaaCatalog/tableDataGateway.html – aboy021

2

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

Без дополнительной информации, все, что я могу предложить, - это рассмотреть возможность поиска в книге Martin Fowler's Patterns of Enterprise Application Architecture.

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

0

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

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