Класс между базой данных и пользовательским интерфейсом - PullRequest
0 голосов
/ 20 июля 2011

У меня есть класс, который обрабатывает запись и чтение данных из моей базы данных.Как правильно называть этот класс?

Ответы [ 2 ]

1 голос
/ 20 июля 2011

Есть несколько соглашений.Предполагая модель Person, вы можете использовать:

PersonDataAccessObject,
PersonDao,
PersonRepository,
PersonDataAccess,

...

Это также зависит от используемой вами технологии.Я имею в виду, кто знает, какие соглашения существуют для языка, который вы используете.Дайте нам знать, на каком языке и какие рамки доступа к данным и ответ могут отличаться.

Я использовал для добавления "Дао", потому что это коротко и ясно.Но затем я перешел к словарю и шаблонам Мартина Фаулера, поэтому теперь я использую репозиторий.Немного длиннее, но я долго не чувствую себя от природы, так что это соответствует моему стилю.В конце концов, это ключ.Это стилистически, и я не знаю ни одного общепринятого стандарта.Самое главное, чтобы вы выбрали что-то ясное и использовали это последовательно.Если позже вы решите переключиться на что-то другое, помилуйте всех программистов, которые могут следовать за вами, и переименуйте все так, чтобы все ваши компоненты доступа к данным были последовательно названы.

Редактировать: перечитывая это, я понял,Я предполагаю, что у вас будет несколько таких классов, по одному для каждой из ваших модельных сущностей.Кто знает, каковы ваши настройки.Если вы не собираетесь делать это таким образом, и вы просто ищете стандартное имя для единой точки доступа ко всем данным, вы можете использовать:

DataMapper
Gateway

Как правило, предположениев том, что у вас их будет несколько, по одному для каждой из ваших «таблиц» / моделей сущностей.Это больше, чем соглашение об именах, это, вероятно, стандартное соглашение о кодировании.Таким образом, когда вы изменяете или добавляете какой-либо аспект того, как вы взаимодействуете со своей таблицей «персоны», вам не нужно изменять класс, в котором у вас есть код для доступа к таблице «адресов».Посмотрите шаблоны корпоративных приложений (PofEAA) Мартина Фаулера, чтобы узнать больше

Каталог шаблонов PofEAA (см. Архитектурные шаблоны источников данных

и

Дизайн, управляемый доменом быстро (бесплатно в формате pdf), особенно Ch. 3

0 голосов
/ 20 июля 2011

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

...