Я не уверен, как назвать классы хранилища данных при разработке уровня доступа к данным программы (DAL) .
(Под классом хранилища данных я имею в виду класс, который отвечает за чтение постоянного объекта в память или за сохранение объекта в памяти.)
Кажется разумным назвать данные класс store в соответствии с двумя вещами:
- какие типы объектов он обрабатывает;
- загружает ли он и / или сохраняет ли он такие объекты.
⇒ Класс, который загружает объекты Banana
, может быть вызван, например, BananaSource
.
Я не знаю, как перейти ко второму пункту (например, бит Source
в примере). Я видел разные существительные, которые явно использовались для этой цели:
- репозиторий : звучит очень обобщенно. Означает ли это что-то доступное для чтения / записи?
- store : похоже, что это потенциально разрешает доступ для записи.
- контекст : звучит очень абстрактно. Я видел это с LINQ и объектно-реляционными преобразователями (ORM).
P.S. (несколько месяцев спустя): это, вероятно, подходит для контейнеров, содержащих «активные» или иным образом контролируемые объекты (на ум приходит шаблон «Единица работы»).
- Retriever : похоже, что-то предназначено только для чтения.
- источник и приемник : вероятно, не подходит для сохранения объекта; лучше подходит для потоков данных?
- reader / writer : довольно ясно по своему замыслу, но для меня это звучит слишком технически.
Являются ли эти имена произвольными, или за каждым из них стоят общепринятые значения / семантические различия? В частности, мне интересно:
- Какие имена подходят для хранилищ данных только для чтения?
- Какие имена подходят для хранилищ данных только для записи?
- Какие имена подходят в основном для данных только для чтения? хранилища, которые периодически обновляются?
- Какие имена подходят для хранилищ данных, предназначенных в основном только для записи, которые время от времени читаются?
- Подходит ли одно имя для всех сценариев одинаково хорошо?
задан stakx supports GoFundMonica 17 June 2011 в 14:22
поделиться