黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java常用設(shè)計模式介紹,超級詳細

Java常用設(shè)計模式介紹,超級詳細

更新時間:2020-05-28 15:14:34 來源:動力節(jié)點 瀏覽3502次

設(shè)計模式介紹

設(shè)計模式(Design pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的代碼設(shè)計經(jīng)驗的總結(jié),它與具體的語言無關(guān),是一種思想,掌握了面向?qū)ο蟮乃枷耄趴梢愿玫睦斫庠O(shè)計模式,而反之亦然。

在java中總共有23種設(shè)計模式,這些設(shè)計模式分別分為如下幾種類型:

  • 創(chuàng)建型模式:針對對象的創(chuàng)建方式
  • 結(jié)構(gòu)型模式:針對對象的組成結(jié)構(gòu)的操作
  • 行為型模式:針對對象的行為的操作設(shè)置

其中,創(chuàng)建型模式有6種,分別為簡單工廠模式(Simple Factory)、工廠方法模式(Factory Method)、抽象工廠模式(Abstract Factory)、創(chuàng)建者模式(Builder)、原型模式(Prototype)、單例模式(Singleton)

結(jié)構(gòu)型模式有7種,分別為外觀模式/門面模式(Facade門面模式)、適配器模式(Adapter)、代理模式(Proxy)、裝飾模式(Decorator)、橋梁模式/橋接模式(Bridge)、組合模式(Composite)、享元模式(Flyweight)

行為型模式有10種,分別為模板方法模式(Template Method)、觀察者模式(Observer)、狀態(tài)模式(State)、策略模式(Strategy)、職責(zé)鏈模式(Chain of Responsibility)、命令模式(Command)、訪問者模式(Visitor)、調(diào)停者模式(Mediator)、備忘錄模式(Memento)、迭代器模式(Iterator)、解釋器模式(Interpreter)

以下就以一種對創(chuàng)建型模式進行生活案例與程序案例分析:

創(chuàng)建模式

1.單例模式

生活案例:國家施行的計劃生育政策,規(guī)定一對夫婦只生一胎,剛結(jié)婚時,確定生一胎,生完后無論如何不能再生,否則違背國家政策。

程序概念:所謂單例設(shè)計模式簡單說就是無論程序如何運行,采用單例設(shè)計模式的類(Singleton類)永遠只會有一個實例化對象產(chǎn)生。具體實現(xiàn)步驟如下:

1)構(gòu)造方法私有化(采用private修飾)。

2)使用靜態(tài)方法調(diào)用得到單例模式對象。

代碼如下所示:

class?Singleton?{
private?static?Singleton?instance?=?new?Singleton();//?餓漢式
public?static?Singleton?getInstance()?{
return?instance;
}
private?Singleton()?{?//?構(gòu)造方法封裝為私有化
}
}
public?class?Test2?{
public?static?void?main(String?args[])?{
Singleton?s?=?Singleton.getInstance();?//兩個對象一致
Singleton?s?=?Singleton.getInstance();
}
}

2.簡單工廠模式

生活案例:一個賣肉工廠可以生產(chǎn)豬肉、狗肉、羊肉、牛肉等,工廠很清楚有哪些的產(chǎn)品,所以我們只需要工廠提供即可

程序概念:簡單工廠又叫靜態(tài)工廠,由一個工廠對象決定創(chuàng)建哪一個產(chǎn)品對象

代碼案例如下:

public?class?Factory{
public?static?int?PIG_TYPE?=?1;
public?static?int?DOG_TYPE?=?2;
public?static?Animal?getAnimal(int?flag)?{
if(flag==PIG_TYPE){
return?new?Pig();?//獲取豬肉對象
}else?if(flag==DOG_TYPE){
return?new?Dog();?//獲取狗肉對象
}
return?null;
}
}
public?class?Test2?{
public?static?void?main(String?args[])?{
//獲得狗肉對象
Animal?a?=?Factory.getAnimal(Factory.DOG_TYPE);
}
}

以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java常用設(shè)計模式介紹,超級詳細”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 最近高清中文字幕大全1 | 日本中文字幕二区三区 | 免费视频你懂得 | 色天使久久综合给合久久97色 | 看日本黄大片在线观看 | 日韩大片高清播放器好 | 97人洗澡人人澡人人爽 | 亚洲国产日韩无在线播放 | 2019亚洲日韩新视频 | 国产卡一 | 欧美日本视频一区 | 久青草国产在视频在线观看 | metcn人体亚洲一区 | 深夜福利免费观看 | 久久免费手机视频 | 久久天天丁香婷婷中文字幕 | 国产欧美日韩看片片在线人成 | 成人性生活免费视频 | 一级特黄录像绵费播放 | 国产 日韩欧美 | 最近的2019中文字幕7 | 亚洲一区二区三区在线观看蜜桃 | 国产欧美专区在线观看 | 亚洲精品高清在线 | 性xxxxbbbb免费播放视频 | 男女视频在线观看免费高清观看 | 日本大片免费一级 | 色视频在线播放 | 在线播放亚洲精品富二代91 | 一级女性全黄生活片看看 | 性欧美xxx 不卡视频 | 久久手机精品视频 | 曰批免费动漫视频播放免费 | 一本久 | 欧美日韩网 | 免费国产精品视频 | hdⅹvideos欧美在线 | 国产亚洲青色国产 | 欧美日韩亚洲国产无线码 | 久久99国产这里有精品视 | 国产成人综合在线 |