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

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

工廠模式起步

2019-11-09 17:19:14
字體:
來源:轉載
供稿:網友

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設計原則中尋找線索。有一個原則是“找出變化的方面,把它們從不變的部分分離出來”


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定远县| 朝阳市| 翼城县| 东乡县| 灵石县| 溧水县| 进贤县| 濉溪县| 德令哈市| 巴青县| 浦东新区| 湛江市| 临沧市| 宿迁市| 商河县| 龙里县| 北流市| 图木舒克市| 大渡口区| 洪江市| 辰溪县| 苏尼特右旗| 南开区| 泰和县| 天全县| 高邑县| 黑山县| 肇源县| 安阳市| 元江| 高雄县| 琼中| 寻乌县| 南汇区| 山西省| 黑水县| 都匀市| 鸡泽县| 封开县| 金平| 江达县|