我有兩個項目,比如App和Data。數據中有一些App方法使用的方法,以便App項目不必擔心任何數據訪問/數據庫連接等。我猜這個設置的好處是1.數據沒有依賴性在應用程序和2.如果數據庫被改變,從MS SQL到Oracle說,你根本不需要改變應用程序項目 - 只需開發一個新的數據項目。我應該在哪裏定義我的接口以獲得良好的體系結構?
似乎應該爲應用程序項目用於數據訪問的所有方法定義一個接口。這樣,有人可以開發應用程序項目而不關心數據項目,差異數據項目可以插入到應用程序項目中,只要它實現了接口,一切都可以工作。
爲什麼問題是這樣的:接口在哪裏生活?如果它存在於應用程序中,那麼數據現在依賴於應用程序。但是,如果它存在於Data中,則必須將其複製到任何可能需要插入的新數據項目中。
我會舉另一個例子:假設App是一個在線銷售工具。您可能需要同一個App項目的兩個實例,一個用於eBay,另一個用於亞馬遜。 eBay實例將擁有一個可以與eBay進行交易的數據項目,而亞馬遜實例將擁有一個不同的數據項目。我如何構建應用程序,以便可以將相同的應用程序組件部署到兩個實例?接口是否正確?
啊我明白了。所以實現對象引用了接口項目。主項目是否必須參考接口項目和實施者項目?否則,你如何實際使用主項目實例化實現類? – user1886323