Используется ли какое-либо общее имя для объекта, который получает данные из базы данных?

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

Вопрос

Я разрабатываю API для использования одним из наших поставщиков для доступа к данным в наших базах данных, и мне нужно дать имена своим классам.Я думаю о таких именах, как Retriever, Accessor и Controller (напр.TimesRetriever, TimesAccessor, TimesController и т.д.).Эти классы обеспечат доступ только для чтения к данным (которые я обобщу) в нашей базе данных.Существует ли общепринятое соглашение об именовании для того, что я описал?

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

Решение

Мартин Фаулер (www.martinfowler.com) является хорошим источником для подобных вопросов;поскольку на самом деле вы говорите о шаблонах проектирования.

Моим лучшим предположением был бы шаблон репозитория (http://martinfowler.com/eaaCatalog/repository.html).

С сайта:

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

Похоже на то, что вы пытаетесь сделать.

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

Простое предложение...почему бы не назвать это «База данных»?Это настолько ясно, насколько это возможно.Прочитав это, вы сразу поймете, откуда берутся все данные.

Я чаще всего видел, как люди используют суффикс «Менеджер».Я также видел, как люди использовали базу данных, предложенную just_wes.Бывший:TimesManager или TimesDatabase или даже просто база данных.

В LLBLGen Pro он называется «Адаптер».

В Delphi DataSnap и Java SDO это называется Provider.

Я не думаю, что существует общепринятое соглашение об именах.

Я предпочитаю использовать Provider или Retriever.

«Контроллер» используется для обозначения чего-то другого.«Аксессор» часто используется для классов доступа к БД.Подобные вещи я обычно рассматриваю как отчет.Другими словами, вы не предоставляете полный доступ к БД, вы просто показываете отчет из нее на основе определенных параметров (я предполагаю).Итак, если формат вывода позволяет (особенно если это CSV), я бы перефразировал весь проект как API для запуска отчетов.Если это невозможно, я бы выбрал «Accessor».

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