Java三種設計模式

2021-08-15 03:35:56 字數 1317 閱讀 9352

//私有功能

private animalfactory()

//工廠改進:提供貓和狗這兩種動物

public static animal createanimal(string type)else if("cat".equals(type))else

}

}

2,工廠方法模式

需要提供抽象類,具體的類,乙個工廠介面,以及具體的類的工廠類實現工廠介面.

該工廠介面中的抽象方法的返回值是該抽象類

針對每個具體動物都提供一些對應的工廠類—>實現該介面—>返回值就是需要具體的動物物件

缺點:**量太大

/工廠的介面

public inte***ce factory

public class catfactory implements factory

} 3,單例模式

在記憶體中始終只有乙個該類物件

餓漢式

特點:一載入該類便會建立乙個物件

要求:無參構造私有化

在成員變數位置建立該類的例項

需要提供公共的訪問方法

//餓漢式

public class student

//在成員變數的位置建立該類的例項

//靜態只能訪問靜態,所以需要加上靜態修飾

//為了不讓外界修改當前這個例項,所以加入private修飾

private static student s = new student() ;

//提供給公共的訪問方法,返回值就是該類的例項物件

public static student getstudent()懶漢式

特點:並不是載入某個類就直接建立物件,而是在需要的時候再建立物件

1)懶載入

2)執行緒的安全問題:使用同步**塊進行解決

public class teacher

//在成員變數位置宣告變數

private static teacher t = null ; //共享資料

//提供公共的方法訪問

public synchronized static teacher getteacher()

return t ;

}} 如果是開發中使用的是———>餓漢式(不會出現問題的單例模式)

如果是面試中使用的是———->懶漢式(可能會出現問題的單例模式,執行緒安全問題)

面試題: 簡單闡述下單例模式有幾種,並且寫出乙個單例模式**!(寫懶漢式) 就想問你能否想到懶漢式中多執行緒的安全問題…

4,裝飾者設計模式

子類封裝子類

java設計模式 三種工廠模式

工廠模式提供建立物件的介面。工廠模式分為三類 簡單工廠模式 factory 工廠方法模式 factory method 和抽象工廠模式 abstract factory gof在 設計模式 中將工廠模式分為兩類 工廠方法模式 factory method 和抽象工廠模式 abstract facto...

Java三種工廠設計模式

乙個栗子 我喜歡吃麵條,抽象 乙個麵條基類 介面也可以 這是產品的抽象類。public abstract class inoodles 程式設計師加班必備也要吃泡麵 具體的產品類 public class paonoodles extends inoodles還有我最愛吃的家鄉的幹扣面 具體的產品類...

JAVA工廠設計模式三種形式

工廠模式 主要用來例項化有共同介面的類,工廠模式可以動態決定應該例項化那乙個類。工廠模式的形態 工廠模式主要用一下幾種形態 1 簡單工廠 2 工廠方法 3 抽象工廠 簡單工廠 又叫靜態工廠 是工廠模式三中狀態中結構最為簡單的。主要有乙個靜態方法,用來接受引數,並根據引數來決定返回實現同一介面的不同類...