国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

工廠模式起步

2019-11-09 18:26:06
字體:
來源:轉載
供稿:網友

java開發中經常會聽到這樣的話,“針對接口編程,不針對實現編程”,可能你已經知道了,但是在這里我還是啰嗦一下,使用接口編程,可以隔離掉以后系統可能發生的一大推改變。為什么呢?如果代碼是針對接口寫的,那么通過多態,它可以與任何新類實現該接口。但是,當代碼使用大量的具體類時,等于自找麻煩,因為一旦加入新的具體類就要修改源代碼。

1.當看到“new”,就會想到“具體”

是的,當使用“new”時,你的確是在實例化一個具體類,所以用的確實是實現,而不是接口。這樣代碼綁著具體類會導致代碼更脆弱,更缺乏彈性。

interface Duck{

...

}

class MallardDuck implements Duck{

...

}

Duck duck (使用duck讓代碼具有彈性) = new MallardDuck();

當有一群相關的具體類時,通常會寫出這樣的代碼

Duck duck = null;

if(type){

duck = new MallardDuck();

}else if(type1){

duck = new DecoyDuck();

}else if(type2){

duck = new RubberDuck();

}

這里有一些要實例化的具體類,究竟要實例化那個類,要在運行時有一些條件決定。

當看到這樣的代碼,一旦出現變化或者擴展就必須修改這段代碼,修改次數越多,出現錯誤的幾率越大。同時這段代碼的重用性不高。所以,該怎么辦,當遇到這種情況,就應該回到oom設計原則中尋找線索。有一個原則是“找出變化的方面,把它們從不變的部分分離出來”


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿城市| 墨竹工卡县| 宽甸| 南开区| 维西| 淮南市| 马边| 西乌珠穆沁旗| 临沧市| 交口县| 山阴县| 海门市| 巴塘县| 资中县| 兴文县| 兴宁市| 离岛区| 名山县| 即墨市| 天气| 钟祥市| 塔河县| 虎林市| 沅陵县| 和平区| 和龙市| 米泉市| 鄱阳县| 竹山县| 诸城市| 汝城县| 崇文区| 巫山县| 开平市| 阜阳市| 乌什县| 新安县| 汾阳市| 阿图什市| 田东县| 即墨市|