這種模式就是典型的mvc模式,由下層的model(domain)層提供資料物件一步一步地到dao層,再到ui層。
// exam.xml
<?xml version="1.0" encoding="utf-8" standalone="no"?>
examid="123"
idcard="111">
cecilianame>
北京location>
90grade>
student>
examid="456"
idcard="112">
maryname>
深圳location>
88grade>
student>
examid="789"
idcard="113">
fientname>
上海location>
95grade>
student>
examid="222"
idcard="">
ccname>
廣州location>
99.0grade>
student>
examid="123"
idcard="114">
nacyname>
廣州location>
80.0grade>
student>
exam>
/**
* 學生實體類
*@author 芷若初蕁
* */
public
class
student
public
void
setidcard(string idcard)
public string getexamid()
public
void
setexamid(string examid)
public string getname()
public
void
setname(string name)
public string getlocation()
public
void
setlocation(string location)
public
double
getgarde()
public
void
setgarde(double garde)
}
/**
* 工具類(當中的方法一般約束為靜態的方法)
*@author 芷若初蕁
* */
public
class
xmlutils
// 將資料寫回xml檔案中
public
static
void
write2xml(document document) throws exception
}
/**
* 資料訪問物件
*@author 芷若初蕁
* @exception studentnotexistexception
*/public
class
studentdao catch (exception e)
}// 查詢學生資訊
public student find(string examid)
}return
null;
} catch (exception e)
}// 刪除學生資訊
public
void
delete(string name) throws studentnotexistexception
}// 自定義異常
throw
new studentnotexistexception(name+"不存在!");
} catch (exception e)
}}
==異常小結:==**在後台中一般出現異常就會throws或者try,在前台和使用者發生互動時,異常必須try自己處理,然後提供給使用者一些友好提示就行,不能直接拋,不然會出現異常拋到了使用者介面,這對使用者評價我們的程式有著不好的影響。**對於編譯時異常,我們一般會自己抓並且將其記錄下來然後轉給下一層;對於執行時異常,只是將這個異常丟擲去,拋給上一層,上一層遇到這個異常時可能會處理,也可能不會處理,對程式執行沒有多大的影響。
/**
* 自定義異常
* 注意:寫異常時需要注意它屬於哪種型別的,父親是執行時runtime異常還是編譯時的異常
*@author 芷若初蕁
@exception studentnotexistexception
* */
public
class
studentnotexistexception
extends
exception
public
studentnotexistexception(string message)
public
studentnotexistexception(throwable cause)
public
studentnotexistexception(string message, throwable cause)
public
studentnotexistexception(string message, throwable cause, boolean enablesuppression,
boolean writablestacktrace)
}
**對於這個系統程式中存在add新增的方法,我們不能採用(checked exception)編譯時異常,需要將其轉型成執行時異常(unchecked exception),並且自定義乙個異常studentnotexistexception(對於自定義異常時,建立時必須要搞清楚我們的異常是屬於哪一類,父親是編譯時異常還是runtime異常,然後重寫父親異常的方法就行。),自定義異常比較簡單,關鍵還是在於我們為什麼要自定義異常,選擇哪一類異常。/**
* 互動類
* @author 芷若初蕁
* */
public
class studentmain
else
if("b".equals(type)) catch (studentnotexistexception e)
}else
if("c".equals(type))else
}else
} catch (ioexception e) }}
***對於異常的分析和使用,必須需要注意,總結也就幾個點:**哪種場景需要哪類異常?(前台和後端)**是採用編譯時異常還是執行時異常?
**是自定義還是?又what?
***mvc模型的具體實現思路簡單來說就是物件上傳資料到dao層進行處理最後提交給互動層來向使用者展示出來,具體細節部分還是得自己多仔細琢磨。
簡易學生成績管理系統Python
coding utf 8 import random 成績管理系統 score 錄入成績 score 語文 英語 物理 化學 生物 查詢 print 按照科目查詢 course input 請輸入科目 n print score course print 按照科目和姓名查詢 course input...
MySQL建立乙個簡易學生成績系統
啟動mysql服務並進入mysql shell 建立乙個資料庫gradesystem create database gradesystem 資料庫裡面放三張表 第一張學生表student 學生id 主鍵 學生姓名 學生性別 sidsname gender 1zhangsan male 2lisi ...
簡易版學生成績管理系統 c
include 基本輸入輸出流 include 檔案操作流 include 演算法 include string類 using namespacestd struct student 結構體 char name 20 姓名 double chi 語文成績 double math 數學成績 doubl...