锘??xml version="1.0" encoding="utf-8" standalone="yes"?>激情成人在线视频,日韩一区二区三区免费视频,在线观影网站http://www.aygfsteel.com/ayato/zh-cnThu, 19 Jun 2025 10:19:11 GMTThu, 19 Jun 2025 10:19:11 GMT60闈㈠悜瀵硅薄璁捐涔婰SPhttp://www.aygfsteel.com/ayato/archive/2006/08/03/61427.htmlit姘戝伐it姘戝伐Wed, 02 Aug 2006 16:28:00 GMThttp://www.aygfsteel.com/ayato/archive/2006/08/03/61427.htmlhttp://www.aygfsteel.com/ayato/comments/61427.htmlhttp://www.aygfsteel.com/ayato/archive/2006/08/03/61427.html#Feedback1http://www.aygfsteel.com/ayato/comments/commentRss/61427.htmlhttp://www.aygfsteel.com/ayato/services/trackbacks/61427.html聽聽聽聽聽聽鍓嶆鏃墮棿瀹屾垚鎴戠殑姣曚笟璁烘枃錛屾槸鍏充簬闈㈠悜瀵硅薄璁捐鍘熷垯鍜岃璁℃ā寮忕殑涓浜涜璁猴紝涓烘閲嶈浜?jiǎn)Robert C.Martin鐨勩夾glile Software Development Principles錛孭atterns and Pratices銆嬭繖鏈憲浣滐紝瀵歸潰鍚戝璞¤璁℃湁浜?jiǎn)涓涓柊鐨勮璇嗭紝鍦ㄨ繖閲屽拰澶у鍒嗕韓涓涓嬨?br />聽聽聽聽聽聽銆夾gile銆嬩竴涔︿腑鎻愬埌涓緋誨垪鐨勯潰鍚戝璞¤璁″師鍒欙紝鍏朵腑涓鏉℃槸鍙綔LSP---Liskov鏇挎崲鍘熷垯銆侺SP鏄疊arbara Liskov鍦ㄥス1988騫寸殑璁烘枃涓彁鍑虹殑錛屽叾鍐呭鏄細(xì)瀛愮被蹇呴』鑳藉瀹屽叏鏇挎崲鎺夊畠鐨勭埗綾匯侺SP鏄嬌OCP鎴愮珛鐨勬潯浠朵箣涓錛堝叧浜嶰CP鍦ㄤ互鍚庣殑鏂囩珷浼?xì)浣滆璁哄Q夛紝浜岃呴兘鏄潰鍚戝璞$殑澶氭佸拰鎶借薄鐨勫熀紜銆?br />聽聽聽聽聽聽涓句釜渚嬪瓙錛屽綋鎴戜滑鏈変竴涓狢ar榪欎釜綾?/p>
public class 聽Car聽{
聽聽聽聽
聽聽聽聽
public void 聽run(){
聽聽聽聽聽聽聽聽System.out.println(
" I聽am聽running " );
聽聽聽聽}
聽聽聽聽
聽聽聽聽
public void 聽stop(){
聽聽聽聽聽聽聽聽System.out.println(
" I聽am聽stop " );
聽聽聽聽}
}

鐜板湪錛屽鏋滄湁涓涓被涓嶤ar綾繪湁鍏崇郴錛屽湪闈㈠悜瀵硅薄涓紝綾諱箣闂寸殑鍏崇郴灝辨槸緇勫悎鍜岀戶鎵褲傚綋紜畾榪欎釜綾諱負(fù)鍙﹀涓涓被鐨勪嬌鐢ㄨ呫佹嫢鏈夎呮椂灝辯敤緇勫悎錛岃濡侾erson綾諱嬌鐢–ar綾匯備嬌鐢ㄨ呯殑綾繪湁涓涓壒寰佸氨鏄繍琛屾椂澶氭佹斁鍦ㄥ畠浠箣闂存槸涓嶇鐢ㄧ殑錛岃濡侾erson鍙兘鏈変竴浜沞at銆乴augh絳夊叕鍏辨柟娉曪紝濡傛灉Person鏄疌ar鐨勫瓙綾伙紝鏍規(guī)嵁榪愯鏃跺鎬佸氨鍙互鐢–ar鏉ユ浛鎹erson錛孋ar灝辨湁寰梕at榪欎釜鏂規(guī)硶錛屾樉鐒舵槸涓嶅悎閫昏緫鐨勩?br />聽聽聽 濡傛灉紜畾鏄湁涓縐嶇壒孌婄殑Car浼?xì)椋炵殑锛岄櫎浜?jiǎn)run鍜宻top涔嬪榪樻湁涓涓猣ly鐨勬柟娉曪紝鐜板湪灝辨槸浣跨敤緇ф壙鐨勫満鍚堛?br />
publicclass聽FlyingCar聽extends聽Car聽{

聽聽聽聽
publicvoid聽fly(){
聽聽聽聽聽聽聽聽System.out.println(
"I聽am聽Fly");
聽聽聽聽}
}

铏界劧浣跨敤浜?jiǎn)鐟翩壙锛屼絾鏄嫯杩濆弽浜?jiǎn)LSP銆傚洜涓篊ar涓茍娌℃湁fly榪欎釜鏂規(guī)硶錛岃繍琛屾椂澶氭佷究琚牬鍧忋備負(fù)浜?jiǎn)鑾峰緱澶氭佹э紝灝咰ar閲嶆瀯涓烘娊璞$被錛屽湪鍏朵腑娣誨姞涓涓娊璞$殑fly鏂規(guī)硶錛屽鎬佹т究寰椾互淇濆瓨銆備絾鏄繖鏍峰仛鐨勮瘽灝辮鏄庢墍鏈塁ar鐨勬娊璞¢兘鏄細(xì)fly鐨勶紝榪欐樉鐒舵槸涓嶅悎鐞嗐備負(fù)姝わ紝搴旇鍘繪帀Car涓殑fly鏂規(guī)硶錛孋ar灝變笉鏄娊璞$被錛屽啀鐢盋ar榪欎釜鎶借薄綾繪淳鐢熷嚭鎶借薄鐨凢lyingCar錛岄噷闈㈠寘鍚玣ly鐨勬娊璞℃柟娉曘傝繖鏍鳳紝FlyingCar鎶借薄綾誨拰瀹冪殑媧劇敓綾誨氨紜繚閬靛畧浜?jiǎn)LSP浜?jiǎn)銆?br />聽聽聽聽聽聽榪樻湁涓縐嶅仛娉曪紝灝唂ly鏂規(guī)硶鎶借薄鍒頒竴涓狥lyable鎺ュ彛涓侳lyingCar鍦ㄧ戶鎵緾ar鐨勫悓鏃跺疄鐜癋lyable鎺ュ彛錛屽氨鏄錛孎lyingCar鐨勪笂綰х埗綾誨氨鏄疌ar鍜孎lyable錛屾寜鐓SP鏄畬鍏ㄥ彲浠ヨ鐩栫埗綾葷殑銆?br />
publicinterface聽Flyable聽{

聽聽聽聽
void聽fly();
}

publicclass聽FlyingCar聽extends聽Car聽implements聽Flyable聽{

聽聽聽聽
publicvoid聽fly(){
聽聽聽聽聽聽聽聽System.out.println(
"I聽am聽fly");
聽聽聽聽}
}

浣跨敤榪愯鏃跺鎬佹椂瑕佽幏寰梖ly鏂規(guī)硶蹇呴』杞瀷涓篎lyable鎺ュ彛
publicclass聽CarMain聽{

聽聽聽聽
publicstaticvoid聽main(String[]聽args)聽{
聽聽聽聽聽聽聽聽Car聽car
=new聽FlyingCar();
聽聽聽聽聽聽聽聽car.run();
聽聽聽聽聽聽聽聽car.stop();
聽聽聽聽聽聽聽聽((Flyable)car).fly();
聽聽聽聽}
}

LSP鏄寚瀵間嬌鐢ㄧ戶鎵跨殑鍑嗗垯銆傜戶鎵胯偗瀹氭槸瀛愮被娣誨姞鐖剁被鎵涓嶅叿鏈夌殑鏂版柟娉曠殑錛屾鏃惰嫢蹇界暐LSP錛屽鎬佹т究浼?xì)鍦ㄨ璁′腑娑堝け銆傛墍浠ュ綋浣跨敤緇ф壙鏃訛紝涓轟簡(jiǎn)淇濊瘉澶氭佹э紝灝遍渶瑕侀伒瀹圠SP澶氬仛涓浜涘伐浣滀簡(jiǎn)銆?img src ="http://www.aygfsteel.com/ayato/aggbug/61427.html" width = "1" height = "1" />

]]>
Common IO瀛︿範(fàn)http://www.aygfsteel.com/ayato/archive/2006/08/02/61407.htmlit姘戝伐it姘戝伐Wed, 02 Aug 2006 14:11:00 GMThttp://www.aygfsteel.com/ayato/archive/2006/08/02/61407.htmlhttp://www.aygfsteel.com/ayato/comments/61407.htmlhttp://www.aygfsteel.com/ayato/archive/2006/08/02/61407.html#Feedback0http://www.aygfsteel.com/ayato/comments/commentRss/61407.htmlhttp://www.aygfsteel.com/ayato/services/trackbacks/61407.html聽聽聽聽聽聽聽聽聽闂茶瘽璇村埌榪欙紝榪戞潵鍦ㄩ槄璇諱竴鏈叧浜嶫akarta Common鐨勪功錛屽氨鍐欎竴涓嬪叧浜嶫akarta Common榪欎竴緋誨垪宸ュ叿鐨勬枃绔犲惂銆備粈涔堟槸Jakarta Common鍛紵瀹冩槸涓緋誨垪Apache鐨勫瓙欏圭洰錛屽寘鎷珻ollections銆乆ML銆丣avaBean銆両O絳変竴緋誨垪澧炲己Java鐨勫伐鍏風(fēng)被錛屽湪璁稿Apache鐨勯」鐩腑閮藉彲浠ョ湅鍒板畠浠殑韜獎(jiǎng)錛屽Struts銆傜幇鍦ㄤ粙緇嶇殑鏄疌ommon IO錛岃繖涓寘涓昏浣縄O涓庣綉緇滀箣闂寸紪紼嬫洿鍔犳柟渚匡紝緙栫爜鏇村姞娓呮櫚銆?br />聽聽聽聽聽聽聽聽聽鍏朵腑CopyUtils鍜孖OUtils鎻愪緵涓緋誨垪闈?rùn)鎬佹柟娉曚嬌鍒皊tream鍜孯eader/Writer鍜孲tring涔嬮棿鐨勮漿鍙樻洿鍔犲鏄撳笇鏈涗粠涓涓狪nputStream灝嗚鍙栫殑嫻佽漿鍙樹負(fù)FileWriter鍐欏叆涓涓枃浠訛紝鍙渶瑕佷嬌鐢–opyUtils鐨刢opy鏂規(guī)硶錛岃繖涓柟娉曟湁澶氫釜閲嶈澆鐗堟湰錛岃繖閲屾帴鍙椾竴涓狪nputStream鐨勫璞″拰涓涓狥ileWriter鐨勫璞°?br />
聽聽聽聽publicvoid聽performCopying(){
聽聽聽聽聽聽聽聽Writer聽writer
=null;
聽聽聽聽聽聽聽聽I(yíng)nputStream聽inputStream
=null;
聽聽聽聽聽聽聽聽
try聽{
聽聽聽聽聽聽聽聽聽聽聽聽writer
=new聽FileWriter("test.dat");
聽聽聽聽聽聽聽聽聽聽聽聽inputStream
=getClass().getResourceAsStream("./test.resource");
聽聽聽聽聽聽聽聽聽聽聽聽CopyUtils.copy(inputStream,writer);
聽聽聽聽聽聽聽聽}聽
catch聽(IOException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();
聽聽聽聽聽聽聽聽}
finally{
聽聽聽聽聽聽聽聽聽聽聽聽I(yíng)OUtils.closeQuietly(writer);
聽聽聽聽聽聽聽聽聽聽聽聽I(yíng)OUtils.closeQuietly(inputStream);
聽聽聽聽聽聽聽聽}
聽聽聽聽}

鏈鍚庡緢鏂逛究鐨勬槸錛屼嬌鐢↖OUtils鐨刢loseQuietly闈?rùn)鎬佹柟娉曞氨鍙互鏂逛究鍦板叧闂祫婧愩傚悓鏍峰湴錛屼粠涓涓綉緇滀笂鐨勫湴鍧涓婅幏寰楃綉欏靛唴瀹瑰埌瀛楃涓蹭篃鏄潪甯稿湴鐩磋銆?br />
聽聽聽聽publicvoid聽urlToString(){
聽聽聽聽聽聽聽聽URL聽url
=null;
聽聽聽聽聽聽聽聽I(yíng)nputStream聽inputStream
=null;
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽
try聽{
聽聽聽聽聽聽聽聽聽聽聽聽url
=new聽URL("http://www.21cn.com");
聽聽聽聽聽聽聽聽聽聽聽聽inputStream
=url.openStream();
聽聽聽聽聽聽聽聽聽聽聽聽String聽contents
=IOUtils.toString(inputStream);
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(contents);
聽聽聽聽聽聽聽聽}聽
catch聽(MalformedURLException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();
聽聽聽聽聽聽聽聽}聽
catch聽(IOException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();
聽聽聽聽聽聽聽聽}
聽聽聽聽}

浣跨敤IOUtils鐨則oString鐨勪竴涓噸杞界増鏈氨鍙互鏂逛究鍦板仛鍒頒笂榪板姛鑳姐侰ommon IO榪樻湁璁稿鏈夌敤鐨勫姛鑳斤紝鍦ㄤ互鍚庣殑鏂囩珷浼?xì)鐟艟l帰璁ㄣ?img src ="http://www.aygfsteel.com/ayato/aggbug/61407.html" width = "1" height = "1" />

]]>
主站蜘蛛池模板: 个旧市| 庄浪县| 宁明县| 长阳| 安陆市| 易门县| 霍邱县| 于都县| 正阳县| 阿瓦提县| 黄梅县| 台山市| 确山县| 嘉鱼县| 双峰县| 龙川县| 武夷山市| 海丰县| 滨州市| 丰县| 昌黎县| 延长县| 莒南县| 讷河市| 商南县| 明溪县| 丁青县| 辽宁省| 彝良县| 建平县| 邻水| 刚察县| 土默特左旗| 伊宁县| 乌拉特后旗| 安陆市| 营山县| 南宁市| 阳江市| 竹山县| 县级市|