1、耦合
大家可以看以下代碼,jdbc的註冊驅動以及連接資料庫:
在這裡的第一行代碼,大家可以看到,這就有很大的耦合性關係,因為DriverManager依賴於new com.mysql.jdbc.Driver()對象,connection對象依賴於DriverManager,大家可以嘗試一下,如果你把msql的jar包去掉,那麼運行時,在編譯器就出現錯誤。而無法到達運行期。這裡的耦合說的就是一個類依賴於另一個類,如果另一個類涼了,那麼這個類就會在編譯器出錯。
DriverManager.registerDriver(new com.mysql.jdbc.Driver())
Connection conn = DriverManager.getConnection(url,username,password);
所以呢,我們在之前的例子中都是這種註冊驅動,看下面的代碼,這種反射的方式不再是創建一個新對象,避免使用new關鍵字,而是用字元串表示。這樣就降低了耦合性。在編譯器不會出錯。
Class.forName("com.mysql.jdbc.Driver");
耦合是指程序間的依賴關係
它包括 :類之間的依賴、方法之間的依賴解耦:降低程序之間的依賴關係實際開發中:編譯器不依賴、運行時才依賴。
解耦思路:
第一步,使用反射來創建對象,而避免使用new關鍵字第二部:通過讀取配置文件來獲取創建對象的全限定類名
2、舉例
項目目錄
先舉一個耦合性的模擬保存小例子
目錄結構:分別是持久層、業務層、表現層。