我有一個雞蛋問題。我也想用OOP方式在PHP中實現一個系統,其中兩個類將扮演重要的角色:數據庫和日誌。我的想法是建立由數據庫類的連接,這將有公共方法,例如。 runQuery(sUpdateQuery),doInsert(sInsert)等.Log類將通過通用方法寫入日誌,就像logMessage(message),logDatabaseQuery(sQuery)TO THE DATABASE一樣。現在的問題出現了。面向對象方式的雞蛋問題
1:數據庫裏面的類的方法,我想能夠使用Log類的logDatabaseQuery(sQuery)
2:這仍然不會是一個很大的挑戰,如果我不喜歡用logDatabaseQuery方法內的數據庫類的doInsert(sInsert)方法。
我想保持它簡單 - 並且只使用數據庫連接對象的一個實例,並且如果可能的話,使用loggeras。
對於很多人來說Singleton模型將是第一個想要選擇的,但我絕對想用不同的解決方案。
所以會有兩班它將使用各-其他的方法:
數據庫 doInsert logDatabaseQuery
登錄 logDatabaseQuery doInsert
我想單獨保留日誌的方法(在Log類中),因爲稍後會有其他方法來記錄數據庫,而不僅僅是文件或電子郵件。
任何想法,這應該/如何以最好的,面向對象的方式完成?
我在思考一個共同的父抽象類,或關於使用接口以及,但最後還是沒能找出正確的方法:(
我想知道的是一個正確的類層次結構的建議
夥計們,謝謝你們所有的答案。現在我可以清楚地看到 - 我有點害怕,我的想法是錯誤的。現在我可以理解,我必須將數據庫訪問分爲至少兩個類。 – simply4it 2009-04-08 23:08:58