国产探花免费观看_亚洲丰满少妇自慰呻吟_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設計原則中尋找線索。有一個原則是“找出變化的方面,把它們從不變的部分分離出來”


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新兴县| 襄城县| 宜川县| 南江县| 丹阳市| 寻乌县| 依安县| 南康市| 汉阴县| 中方县| 濮阳市| 双鸭山市| 佳木斯市| 镇康县| 内江市| 闵行区| 台北市| 鱼台县| 库车县| 丹凤县| 景泰县| 汝州市| 华阴市| 天祝| 中超| 子洲县| 越西县| 普定县| 延安市| 金坛市| 隆林| 永平县| 远安县| 延边| 金川县| 扶沟县| 黄大仙区| 镇坪县| 澄城县| 荣成市| 德惠市|