Альтернативный шаблон доступа к данным в хранилище

StackOverflow https://stackoverflow.com/questions/613065

Вопрос

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

Редактировать:

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

ABCD1 ABCD2 ABCD3

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

Это было полезно?

Решение 3

После рассмотрения вариантов я перехожу к шаблону табличного шлюза.

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top