我正致力於保護我的項目中的數據庫訪問對象,該項目使用C++編寫並連接到MySQL(使用MySQL C API)。數據庫訪問對象設計模式
該項目是運行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