最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
高台县| 米易县| 蓬安县| 遂昌县| 乌拉特后旗| 越西县| 资阳市| 四会市| 西藏| 彰武县| 雅安市| 宁波市| 长岛县| 临夏县| 泰顺县| 东乡县| 远安县| 房产| 荥阳市| 玉门市| 岳池县| 乌兰浩特市| 资兴市| 荣昌县| 靖西县| 石阡县| 六安市| 修水县| 莱州市| 阳春市| 弥勒县| 讷河市| 太谷县| 凤冈县| 兴安盟| 花垣县| 临江市| 铜川市| 辽中县| 增城市| 百色市|