西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識 → 用面向?qū)ο蟮乃枷朐O(shè)計存在關(guān)聯(lián)的實體類

用面向?qū)ο蟮乃枷朐O(shè)計存在關(guān)聯(lián)的實體類

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:cnblogs時間:2011/1/14 11:48:07字體大。A-A+

作者:智會超點擊:150次評論:0次標(biāo)簽: 面向?qū)ο?/a> 關(guān)聯(lián)

《大象的時間 老鼠的時間》高清掃描版【京東商城】
  • 類型:文學(xué)作品大。8.0M語言:中文 評分:6.6
  • 標(biāo)簽:
立即下載
我設(shè)想了一個虛擬的應(yīng)用場景,通過翻閱各種資料、請教各位同事以及結(jié)合我自己的一些經(jīng)驗,進(jìn)行了簡單的設(shè)計。這種設(shè)計是我自認(rèn)為合理,并極力鼓吹加以應(yīng)用的一種設(shè)計方法。歡迎各位高人猛烈抨擊,不吝指教,指出設(shè)計缺陷,以求大家共同進(jìn)步!

假設(shè)需求:設(shè)計一個學(xué)生管理系統(tǒng),實現(xiàn)如果發(fā)現(xiàn)某班級中的一位同學(xué)犯錯誤,則全班同學(xué)每個人都扣除一個小紅花;

1、設(shè)計實體類;如圖:

2、映射數(shù)據(jù)表;

3、設(shè)計客戶端

a)由需求得知這里需要一個公開的懲罰方法:Punish(blunderStudent : Student);

b)由需求得知實現(xiàn)懲罰方法的算法:

i.通過某個學(xué)生得到該學(xué)生所在的班級:GetClass(classId : Integer) : Class

ii.通過班級得到該班的全部學(xué)生: GetStudentList(classId : Integer) : List<Student>

iii.循環(huán)所有學(xué)生,扣除每個人一個小紅花:SubFlower(blunderStudent : Student)

    

4、設(shè)計業(yè)務(wù)類

a)業(yè)務(wù)中有兩個方法需要學(xué)生業(yè)務(wù)類去實現(xiàn):GetClass(classId : Integer) : Class、SubFlower(blunderStudent : Student);

 

b)業(yè)務(wù)中有一個方法需要班級業(yè)務(wù)類去實現(xiàn):GetStudentList(classId : Integer) : List<Student>

5、設(shè)計持久層接口

a)學(xué)生業(yè)務(wù)類中的GetClass(classId : Integer) : Class方法需要通過持久層獲取對象;SubFlower(blunderStudent : Student)方法需要通過持久層保存對象;

 

b)班級業(yè)務(wù)類中的GetStudentList(classId : Integer) : List<Student>方法需要通過持久層獲取對象列

 

6、設(shè)計持久層

a)分別實現(xiàn)持久層接口

7、通過ORM工具實現(xiàn)持久層與數(shù)據(jù)表的關(guān)聯(lián)

8、根據(jù)不同的部署環(huán)境,選擇設(shè)計Web UI或WinForm UI,或其他用戶界面

         附:整個類圖