工廠模式之DAO

2021-04-13 07:36:20 字數 2113 閱讀 7909

在平時應用中,跟資料庫打交道是很必然的,很多應用開發中都要對資料庫進行操作,例如查詢、更新、插入、刪除等等,但在應用中我們如何做到提供乙個非常好的介面,以便之後的維護呢?其實有很多種做法,現在我簡單介紹一下得用dao來對資料庫的常用操作進行處理。

managerdao,engineerdao,workerdao extends userdao

由userdaofactory生產managerdao,engineerdao,workerdao

而userdaofactory又繼承自daofactory

/**功能:此類利用配置檔案來配置資料庫的驅動以及使用者名稱、密碼等,

*使其功能更加完善,便於以後復用,可用於任何資料庫的連線

*/public class daofactory}/*

*功能:此類繼承自daofactory,然後可生成各應用中的dao,使維護更加方便,

*若在之後的開發中,想更換資料庫,則不用修改這個檔案,只修改配置檔案就ok了

*/public class userdaofactory extends daofactory

public engineerdao getengineerdao()

public workerdao get workerdao ()}/*

*功能:為同一模組中的應用提取公共屬性及方法,只提供資料常用操作的方法介面,

*同子類具體根據不同情況實現其功能

*/public class userdao

public void close() catch (sqlexception e) }}

public abstract user add(user user);

public abstract user updatebyid(string userid);

public abstract user querybyid(string userid);

public abstract connection queryallrecords();

public abstract deletebyid(string userid);}/*

*功能:此類繼承自userdao,實現父類定義的抽象方法

*/public class managerdao extends userdao

public user updatebyid(string userid)

public user querybyid(string userid)

public collection queryallrecords()

public boolean deletebyid(string userid)

……還有根據具體的需求寫一些具體的操作方法

}public class engineerdao extends userdao

public user updatebyid(string userid)

public user querybyid(string userid)

public collection queryallrecords()

public boolean deletebyid(string userid)

……還有根據具體的需求寫一些具體的操作方法

}public class workerdao extends userdao

public user updatebyid(string userid)

public user querybyid(string userid)

public collection queryallrecords()

public boolean deletebyid(string userid)

……還有根據具體的需求寫一些具體的操作方法

}在這個模組中應還有如下幾個類:user,worker,engineer,manager,其中worker,engineer,manager 繼承自user,在user中定義那三個類的公共部分。

在本文中只簡單的介紹了使用者模組的簡單設計,結合各自應用可以按照這種設計方式設計其他各個模組。其中應用中的各個模組的工廠dao都繼承自daofactory,這樣所有資料庫的配置都只受配置檔案影響,若在應用中想更換資料庫,則只需更換配置檔案,不需要再修改程式,很好的利用了物件導向的思想。

c 設計模式 之 工廠模式之 工廠模式

1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...

DAO設計模式

dao data access object 設計模式,主要功能就是進行資料操作的,在程式的標準開發架構中屬於資料層操作。企業分層架構 客戶層 因為現在都採用了b s開發架構,所以一般都是用瀏覽器進行訪問。顯示層 是用jsp servlet進行頁面的效果顯示.業務層 business object,...

DAO設計模式

根據 dao,data access object,資料訪問物件,主要功能是用於進行資料操作,在程式的標準開發架構中屬於資料層的操作。顯示層 使用jsp進行頁面效果的顯示 業務層 business object,業務物件,會將多個原子性的dao操作進行組合,組合成乙個完整的業務邏輯 資料層,dao,...