Соглашения о присвоении имен для слоя персистентности: ДАО по сравнению с менеджером по сравнению с …?

Отказ от ответственности: Я почти уверен, что видел тот же вопрос прежде, но я не могу найти его теперь. Если кто-то находит, что вопрос, дает ссылку.

Я слышал по крайней мере два мнения о лучшем названии классов, которое реализует операции CRUD: кто-то говорит это DAO классическое имя, и все знают то, что это означает, но другие говорят это Manager соответствует намного лучше функциональности CRUD.

Есть ли какие-либо однозначные правила, когда я должен выбрать один или другой (или еще один) имя?

7
задан Roman 24 June 2010 в 13:56
поделиться

3 ответа

Менеджер мне определенно не нравится; "управление" чем-то может означать (и используется для обозначения) разные вещи. Если вы боитесь, что люди не узнают, что означает DAO, вы всегда можете сформулировать это как «DataAccess», скажем. Но я считаю, что DAO широко понимают.

Другой подход заключается в использовании шаблона репозитория и вызове вашего класса suchAndSuchRepository. Это не обязательно то же самое, что DAO (он может заключать в себе один или несколько DAO), но он может предоставить четко названное место для получения ваших объектов - если мне нужен объект Person, я знаю, что нужно искать PersonRepository .

6
ответ дан 7 December 2019 в 05:18
поделиться

Я бы сказал менеджер, потому что любые «предположения» могут вызвать некоторый беспредел. И в этом случае, я думаю, вы предполагаете, что каждое тело знает DAO.

0
ответ дан 7 December 2019 в 05:18
поделиться

+1 для DAO.
Manager - это расплывчато и может применяться ко многим вещам, кроме DAO.
Например, swing.DesktopManager, ErrorManager, FontManager, JavaFileManager, XMLEntityManager - некоторые из 200+ классов, доступных в настоящее время в моей IDE worskapce, ни один из которых, кажется, не имеет ничего общего с сохранением базы данных.

2
ответ дан 7 December 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: