国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)系較為的評論 (共 條)

分享到微博請遵守國家法律
无锡市| 柞水县| 南昌市| 聊城市| 遂宁市| 屏山县| 仁化县| 潜江市| 东阿县| 临洮县| 清新县| 太和县| 铁岭市| 灵武市| 霍州市| 乌兰县| 云阳县| 祁门县| 丰台区| 剑阁县| 化隆| 蓬溪县| 内丘县| 马关县| 苍山县| 永吉县| 聂拉木县| 海阳市| 大兴区| 阿坝| 驻马店市| 灵寿县| 青阳县| 丁青县| 梅河口市| 囊谦县| 五峰| 定陶县| 于田县| 桐乡市| 河池市|