您好,登錄后才能下訂單哦!
本篇內容介紹了“java設計模式基礎知識有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1、單例模式
單例模式:分為餓漢式和懶漢式
餓漢式:
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance ;
}
}
懶漢式:
public class Singleton02 {
private static Singleton02 instance;
private Singleton02(){}
public static Singleton02 getInstance(){
if (instance == null){
instance = new Singleton02();
}
return instance;
}
}
//線程安全的單例,使用同步代碼塊鎖住實例的創(chuàng)建,使其在一個線程中僅會初始化一次
//(使用雙重校驗鎖去處理)
public class Singleton02 {
private static Singleton02 instance;
private Singleton02(){}
public static Singleton02 getInstance(){
if (instance == null){
synchronized (Singleton02.class)
if (instance == null){
instance = new Singleton02();
}
}
}
return instance;
}
}
2、MVP,MVC,MVVM
??MVP模式,對應著Model–業(yè)務邏輯和實體模型,view–對應著activity,負責View的繪制以及與用戶交互,Presenter–負責View和Model之間的交互,MVP模式是在MVC模式的基礎上,將Model與View徹底分離使得項目的耦合性更低,在Mvc中項目中的activity對應著mvc中的C–Controllor,而項目中的邏輯處理都是在這個C中處理,同時View與Model之間的交互,也是也就是說,mvc中所有的邏輯交互和用戶交互,都是放在Controllor中,也就是activity中。View和model是可以直接通信的。而MVP模式則是分離的更加徹底,分工更加明確Model–業(yè)務邏輯和實體模型,view–負責與用戶交互,Presenter 負責完成View于Model間的交互,MVP和MVC最大的區(qū)別是MVC中是允許Model和View進行交互的,而MVP中很明顯,Model與View之間的交互由Presenter完成。還有一點就是Presenter與View之間的交互是通過接口的
3、工廠模式 無錫婦科醫(yī)院排行 http://www.0510bhyy.com/
(1). 簡單工廠模式
??簡單工廠的定義:提供一個創(chuàng)建對象實例的功能,而無須關心其具體實現。被創(chuàng)建實例的類型可以是接口、抽象類,也可以是具體的類(工廠為接口或者抽象類,實例為繼承該接口或者抽象類的類)
(2). 工廠方法
??就是講簡單工廠模式當中的基類接口或者抽象類作為工廠的方法的返回值使用,然后由實例繼承該工廠類
(3). 抽象工廠
??就是工廠類為抽象類,然后必須要有一個缺省子類來繼承該工廠,實現其工廠方法返回一個默認的數據
4、觀察者模式
??觀察者模式又稱為發(fā)布/訂閱(Publish/Subscribe)模式
??觀察者設計模式涉及到兩種角色:主題(Subject)和觀察者(Observer)
??Java中觀察者模式需要被觀察者繼承java.util.Observable類,需要觀察者實現java.util.Observer接口。其中Observer接口中有一個update方法,它在被觀察者的某些位置發(fā)生改變時會被自動調用。
5、建造者模式builder
??創(chuàng)建者模式又叫建造者模式,是將一個復雜的對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示。創(chuàng)建者模式隱藏了復雜對象的創(chuàng)建過程,它把復雜對象的創(chuàng)建過程加以抽象,通過子類繼承或者重載的方式,動態(tài)的創(chuàng)建具有復合屬性的對象。
6、裝飾器模式
??裝飾器模式,顧名思義,就是對已經存在的某些類進行裝飾,以此來擴展一些功能。其結構圖如下:
??Component為統一接口,也是裝飾類和被裝飾類的基本類型。
??ConcreteComponent為具體實現類,也是被裝飾類,他本身是個具有一些功能的完整的類。
??Decorator是裝飾類,實現了Component接口的同時還在內部維護了一個ConcreteComponent的實例,并可以通過構造函數初始化。而Decorator本身,通常采用默認實現,他的存在僅僅是一個聲明:我要生產出一些用于裝飾的子類了。而其子類才是賦有具體裝飾效果的裝飾產品類。
??ConcreteDecorator是具體的裝飾產品類,每一種裝飾產品都具有特定的裝飾效果??梢酝ㄟ^構造器聲明裝飾哪種類型的ConcreteComponent,從而對其進行裝飾。
“java設計模式基礎知識有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。