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

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

長沙一度軟件培訓(xùn)      2022-04-12 06:00:01     5

Java常用設(shè)計模式介紹,超級詳細,設(shè)計模式介紹設(shè)計模式(Design pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的代碼設(shè)計經(jīng)驗的總結(jié),它與具體的語言無

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹

設(shè)計模式介紹

設(shè)計模式(Design pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的代碼設(shè)計經(jīng)驗的總結(jié),它與具體的語言無關(guān),是一種思想,掌握了面向?qū)ο蟮乃枷?,才可以更好的理解設(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);}}

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

培訓(xùn)啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹防上當(dāng)。