Шаблон репозитория: это только для базы данных? - PullRequest
0 голосов
/ 10 ноября 2009

Мне было интересно, могу ли я использовать шаблон репозитория для чего-либо, кроме слоя базы данных?

Я использовал шаблон для магазинной тележки, где я хранил элементы магазинной тележки в массиве в классе ShopCartRepository. Затем я получил данные из ShopCartRepository, используя класс ShopCartController.

Как уже упоминалось, ShopCartRepository имеет дело только с массивом и, следовательно, не с базой данных.

Является ли это "легальным" подходом к использованию шаблона репозитория?

Ответы [ 2 ]

4 голосов
/ 10 ноября 2009

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

1 голос
/ 10 ноября 2009

Шаблон репозитория предназначен не только для базы данных.

Однако обычно он используется для абстрагирования какого-либо метода для работы с объектами домена от слоя данных. Если вы используете его строго для работы с ShoppingCart, почему бы не добавить методы в ShoppingCart, чтобы корзина могла вести себя как корзина, а не беспокоиться о работе с ShoppingCard И ShoppingCartRepository?

...