五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

某系統(tǒng)界面類(如Form1、Form2等類)與數(shù)據(jù)訪問類(如DAO1、DAO2等類)之間的調(diào)用關(guān)系較為

2023-03-20 08:06 作者:酸奶公園  | 我要投稿

某系統(tǒng)界面類(如Form1、Form2等類)與數(shù)據(jù)訪問類(如DAO1、DAO2等類)之間的調(diào)用關(guān)系較為復(fù)雜,其中Form1和Form2的業(yè)務(wù)較為相關(guān),F(xiàn)orm3、Form4和Form5的業(yè)務(wù)上較為相關(guān)。請對該設(shè)計(jì)進(jìn)行重構(gòu)。

根據(jù)上述要求,可以將系統(tǒng)界面類和數(shù)據(jù)訪問類進(jìn)行分組,將業(yè)務(wù)相關(guān)的界面類和數(shù)據(jù)訪問類放在一起,形成一個(gè)業(yè)務(wù)邏輯層。具體類圖如下:




在上述類圖中,將原來的系統(tǒng)界面類和數(shù)據(jù)訪問類拆分為兩個(gè)部分:業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。業(yè)務(wù)邏輯層負(fù)責(zé)處理界面類的業(yè)務(wù)邏輯,并調(diào)用數(shù)據(jù)訪問層來完成數(shù)據(jù)操作。數(shù)據(jù)訪問層負(fù)責(zé)處理具體的數(shù)據(jù)庫操作,包括查詢、插入、更新、刪除等。同時(shí),為了實(shí)現(xiàn)系統(tǒng)的可擴(kuò)展性,將DAO1、DAO2等數(shù)據(jù)訪問類抽象成為一個(gè)抽象數(shù)據(jù)訪問類。


接下來,根據(jù)上述類圖,編寫相應(yīng)的Java代碼,示例如下:


```

// 抽象數(shù)據(jù)訪問類

public abstract class AbstractDAO {

public abstract void query();

public abstract void insert();

public abstract void update();

public abstract void delete();

}


// 數(shù)據(jù)訪問類1

public class DAO1 extends AbstractDAO {

public void query() {

// 實(shí)現(xiàn)查詢操作

}


public void insert() {

// 實(shí)現(xiàn)插入操作

}


public void update() {

// 實(shí)現(xiàn)更新操作

}


public void delete() {

// 實(shí)現(xiàn)刪除操作

}

}


// 數(shù)據(jù)訪問類2

public class DAO2 extends AbstractDAO {

public void query() {

// 實(shí)現(xiàn)查詢操作

}


public void insert() {

// 實(shí)現(xiàn)插入操作

}


public void update() {

// 實(shí)現(xiàn)更新操作

}


public void delete() {

// 實(shí)現(xiàn)刪除操作

}

}


// 業(yè)務(wù)邏輯層1

public class BusinessLayer1 {

private AbstractDAO dao;


public BusinessLayer1(AbstractDAO dao) {

this.dao = dao;

}



public void doBusiness() {


// 處理業(yè)務(wù)邏輯


dao.query(); // 調(diào)用數(shù)據(jù)訪問類完成查詢操作


dao.insert(); // 調(diào)用數(shù)據(jù)訪問類完成插入操作


dao.update(); // 調(diào)用數(shù)據(jù)訪問類完成更新操作


dao.delete(); // 調(diào)用數(shù)據(jù)訪問類完成刪除操作


}


}




// 業(yè)務(wù)邏輯層2


public class BusinessLayer2 {


private AbstractDAO dao;




public BusinessLayer2(AbstractDAO dao) {


this.dao = dao;


}




public void doBusiness() {


// 處理業(yè)務(wù)邏輯


dao.query(); // 調(diào)用數(shù)據(jù)訪問類完成查詢操作


dao.insert(); // 調(diào)用數(shù)據(jù)訪問類完成插入操作


dao.update(); // 調(diào)用數(shù)據(jù)訪問類完成更新操作


dao.delete(); // 調(diào)用數(shù)據(jù)訪問類完成刪除操作


}


}




// 界面類1


public class Form1 {


private BusinessLayer1 businessLayer;




public Form1() {


AbstractDAO dao = new DAO1(); // 創(chuàng)建DAO1實(shí)例


businessLayer = new BusinessLayer1(dao); // 創(chuàng)建BusinessLayer1實(shí)例


}




public void buttonClick() {


businessLayer.doBusiness(); // 調(diào)用業(yè)務(wù)邏輯層處理業(yè)務(wù)邏輯


}


}




// 界面類2


public class Form2 {


private BusinessLayer1 businessLayer;




public Form2() {


AbstractDAO dao = new DAO2(); // 創(chuàng)建DAO2實(shí)例


businessLayer = new BusinessLayer1(dao); // 創(chuàng)建BusinessLayer1實(shí)例


}




public void buttonClick() {


businessLayer.doBusiness(); // 調(diào)用業(yè)務(wù)邏輯層處理業(yè)務(wù)邏輯


}


}




// 界面類3


public class Form3 {


private BusinessLayer2 businessLayer;




public Form3() {


AbstractDAO dao = new DAO1(); // 創(chuàng)建DAO1實(shí)例


businessLayer = new BusinessLayer2(dao); // 創(chuàng)建BusinessLayer2實(shí)例




public void buttonClick() {




businessLayer.doBusiness(); // 調(diào)用業(yè)務(wù)邏輯層處理業(yè)務(wù)邏輯




}




}








// 界面類4




public class Form4 {




private BusinessLayer2 businessLayer;








public Form4() {




AbstractDAO dao = new DAO1(); // 創(chuàng)建DAO1實(shí)例




businessLayer = new BusinessLayer2(dao); // 創(chuàng)建BusinessLayer2實(shí)例




}








public void buttonClick() {




businessLayer.doBusiness(); // 調(diào)用業(yè)務(wù)邏輯層處理業(yè)務(wù)邏輯




}




}








// 界面類5




public class Form5 {




private BusinessLayer2 businessLayer;








public Form5() {




AbstractDAO dao = new DAO1(); // 創(chuàng)建DAO1實(shí)例




businessLayer = new BusinessLayer2(dao); // 創(chuàng)建BusinessLayer2實(shí)例




}








public void buttonClick() {




businessLayer.doBusiness(); // 調(diào)用業(yè)務(wù)邏輯層處理業(yè)務(wù)邏輯




}




}


某系統(tǒng)界面類(如Form1、Form2等類)與數(shù)據(jù)訪問類(如DAO1、DAO2等類)之間的調(diào)用關(guān)系較為的評論 (共 條)

分享到微博請遵守國家法律
神木县| 获嘉县| 永济市| 江安县| 都安| 华池县| 荃湾区| 贺兰县| 嘉峪关市| 乌兰浩特市| 青铜峡市| 黄大仙区| 栾川县| 将乐县| 兰溪市| 河西区| 泸西县| 齐河县| 颍上县| 新晃| 梧州市| 武陟县| 沧州市| 玉溪市| 新干县| 湖南省| 磴口县| 姚安县| 南安市| 临夏市| 定南县| 波密县| 蛟河市| 万源市| 深泽县| 武陟县| 光山县| 毕节市| 景谷| 宜兴市| 江永县|