Я работаю над защитой объекта доступа к базе данных в моем проекте, который написан на C++ и подключен к MySQL (с использованием API MySQL C).Шаблон проектирования объекта доступа к базам данных
Проект представляет собой серверное приложение, работающее 24x7.
Защита, в которой я нуждаюсь, - это убедиться, что соединение с базой данных здорово перед каждой операцией. Если DAO отключен от базы данных или время ожидания соединения, мне придется приостановить операцию и дождаться восстановления соединения.
Мой текущий дизайн:
class DAO
{
public:
int Conn(string svr, string port, string usr, string pwd, string schema);
int Close();
// Methods for database manipulation
int QueryXXX(...);
int InsertYYY(...);
int UpdateZZZ (...);
private:
MYSQL* m_conn;
}
(я пытаюсь сделать это просто здесь)
(И для каждого новых функций, манипулирующих новые данные, я просто добавить больше методов к нему.)
Основываясь на вышеуказанной конструкции, мне нужно будет добавить контрольный код в начале каждого метода, и мне нужно напомнить себе и другим разработчикам добавить тот же код в каждый новый метод в будущем.
Есть ли лучшее решение, чем копирование одного и того же кода (или вызов той же функции) при просмотре всех методов?
Спасибо!
Хорошая идея! Благодаря!! – LennonLam