更新時間:2020-05-28 15:14:34 來源:動力節(jié)點 瀏覽3502次
設(shè)計模式(Design pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的代碼設(shè)計經(jīng)驗的總結(jié),它與具體的語言無關(guān),是一種思想,掌握了面向?qū)ο蟮乃枷耄趴梢愿玫睦斫庠O(shè)計模式,而反之亦然。
在java中總共有23種設(shè)計模式,這些設(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)建模式
生活案例:國家施行的計劃生育政策,規(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();
}
}
生活案例:一個賣肉工廠可以生產(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ù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743