更新時間:2020-05-28 15:14:34 來源:動力節點 瀏覽3486次
設計模式(Design pattern)是一套被反復使用、多數人知曉的、經過分類編目的代碼設計經驗的總結,它與具體的語言無關,是一種思想,掌握了面向對象的思想,才可以更好的理解設計模式,而反之亦然。
在java中總共有23種設計模式,這些設計模式分別分為如下幾種類型:
其中,創建型模式有6種,分別為簡單工廠模式(Simple Factory)、工廠方法模式(Factory Method)、抽象工廠模式(Abstract Factory)、創建者模式(Builder)、原型模式(Prototype)、單例模式(Singleton)
結構型模式有7種,分別為外觀模式/門面模式(Facade門面模式)、適配器模式(Adapter)、代理模式(Proxy)、裝飾模式(Decorator)、橋梁模式/橋接模式(Bridge)、組合模式(Composite)、享元模式(Flyweight)
行為型模式有10種,分別為模板方法模式(Template Method)、觀察者模式(Observer)、狀態模式(State)、策略模式(Strategy)、職責鏈模式(Chain of Responsibility)、命令模式(Command)、訪問者模式(Visitor)、調停者模式(Mediator)、備忘錄模式(Memento)、迭代器模式(Iterator)、解釋器模式(Interpreter)
創建模式
生活案例:國家施行的計劃生育政策,規定一對夫婦只生一胎,剛結婚時,確定生一胎,生完后無論如何不能再生,否則違背國家政策。
程序概念:所謂單例設計模式簡單說就是無論程序如何運行,采用單例設計模式的類(Singleton類)永遠只會有一個實例化對象產生。具體實現步驟如下:
1)構造方法私有化(采用private修飾)。
2)使用靜態方法調用得到單例模式對象。
代碼如下所示:
class?Singleton?{
private?static?Singleton?instance?=?new?Singleton();//?餓漢式
public?static?Singleton?getInstance()?{
return?instance;
}
private?Singleton()?{?//?構造方法封裝為私有化
}
}
public?class?Test2?{
public?static?void?main(String?args[])?{
Singleton?s?=?Singleton.getInstance();?//兩個對象一致
Singleton?s?=?Singleton.getInstance();
}
}
生活案例:一個賣肉工廠可以生產豬肉、狗肉、羊肉、牛肉等,工廠很清楚有哪些的產品,所以我們只需要工廠提供即可
程序概念:簡單工廠又叫靜態工廠,由一個工廠對象決定創建哪一個產品對象
代碼案例如下:
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);
}
}
以上就是動力節點java培訓機構的小編針對“Java常用設計模式介紹,超級詳細”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習