我正在爲我的郵件服務器的日誌條目設計一個類。我已經解析了日誌條目並創建了類層次結構。現在我需要將內存表示保存到磁盤。我需要將它保存到多個目標,如mysql和磁盤文件。我無法找到設計持久性機制的正確方法。面臨的挑戰是:OO設計:Ruby類的多重持久性設計
如何通過持續 初始化信息,如 文件名,傳遞給它們的數據庫連接參數 。我想 的選項都是醜陋的,例如:
1.1構造函數:它變得很難看,因爲我增加了更多的持久性。
1.2方法:Object.mysql_params(」「),再次 對接難看
「正確的」 方法名來調用每個 持久性機制:例如: Object.save_mysql,Object.save_file, 或對象.save(MySQL的)和 Object.save(文件)
我相信有一些模式來解決這方面的問題。我使用Ruby作爲我的語言,沒有任何軌道,即純Ruby代碼。任何線索都非常受歡迎。
拉吉
非常感謝您的回答。收到的所有3個答案都表明了相同的方法 – 2008-10-08 07:54:02