Соглашения об именах для уровня постоянства: DAO vs Manager vs ...? - PullRequest
7 голосов
/ 24 июня 2010

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я почти уверен, что видел такой же вопрос раньше, но сейчас не могу его найти.Если кто-то найдет этот вопрос, пожалуйста, дайте ссылку.

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

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

Ответы [ 3 ]

6 голосов
/ 24 июня 2010

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

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

2 голосов
/ 24 июня 2010

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

0 голосов
/ 24 июня 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...