我已經交給的代碼庫使用的功能是一個從MDB2繼承的數據庫類。這構成了使用MVC框架(一個定製的事務)的基礎,而模型又從db繼承。修改一個類來封裝而不是繼承
正如我確信你們中的一些人已經注意到,這導致了一個相當大的問題。每次您實例化一個模型時,結果都會創建一個新的數據庫連接。這顯然很浪費。這也意味着我無法按預期使用事務,因爲如果一個事務在模型的一個實例中啓動,其效果對其他實例是不可見的,直到發生提交。
我的計劃是更改db類來封裝MDB2而不是繼承它,然後讓它通過其單例功能來維護單個MDB2實例。
但是,MDB2是一個有很多方法的大型庫,代碼庫中的很多東西依賴於能夠訪問MDB2方法。
是否有方法來封裝MDB2類並將調用傳遞給它,而無需修改更高層,也無需爲MDB2中的每個方法編寫包裝器方法?
請問您可以展示一個示例模型類,以便我們可以看到它們的耦合程度? – Gordon 2010-11-22 10:35:26