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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 星座| 邹城市| 宁南县| 通海县| 松滋市| 包头市| 称多县| 新巴尔虎右旗| 德令哈市| 巴里| 兴安县| 洪泽县| 宣城市| 永新县| 武强县| 晋中市| 灵武市| 汝阳县| 渝北区| 海林市| 奎屯市| 远安县| 怀化市| 安远县| 锦屏县| 枣强县| 花莲县| 阜康市| 弥渡县| 宁明县| 洪江市| 全南县| 景东| 合山市| 阳谷县| 闽侯县| 湾仔区| 余江县| 黄石市| 梓潼县| 喜德县|