Лучший способ разоблачить методы

Я пишу слой менеджера баз данных веб-службы. Я должен решить, как реализовать мою библиотеку: такова ситуация. У меня есть класс, PersistenceUnit:

private static RazoooCore rc;
private static DBInstance db;
protected ODatabaseDocumentTx getDb(){return db;}
protected RazoooCooore getRc(){return rc;}

public static void startPersistence (){
    //here I get an instance of rc and db
}

который запускает мой сервис БД и позволяет мне подключиться к нему. Я хочу написать класс, который реализует метод персистентности, например addUser(...) или deleteFile(...) и так далее. Я сомневаюсь, как реализовать этот метод. Поскольку у меня есть два больших класса операций (один для пользователей, а другой для файлов), я подумал создать класс (User и File) и реализовать для них открытый статический метод, или, что то же самое, создать два файла singleton.then прикладному уровню придется вызывать метод без необходимости каждый раз создавать и уничтожать объект. Это хороший способ реализовать мой слой? Таким образом, хорошо ли обрабатывается параллелизм или есть лучший способ (возможно, шаблон) для максимизации производительности и многопоточности? Конечно, это не связанный с памятью слой, потому что верхний слой не должен постоянно создавать объект. Спасибо

1 ответ

Было много дискуссий о том, должен ли объект (или нет) нести ответственность за сохранение, это должен ли класс User иметь метод Save? Смотря как. Тем не менее, в настоящее время мы вряд ли когда-либо увидим эту модель

Я думаю, что логика сохранения должна быть на уровне доступа к данным, возможно, в репозиториях (UserRepository и FileRepository). И это не имеет ничего общего ни с производительностью, ни с многопоточностью, поскольку обе проблемы (производительность и параллелизм) находятся в базе данных.

Это мое мнение.

Другие вопросы по тегам