設計模式(Java) Singleton模式

2021-08-27 08:46:16 字數 1329 閱讀 3678

single模式必須滿足的條件:

1.確保任何情況下都絕對只有1個例項

2.在程式上表現出「只存在乙個例項」

示例程式:

singleton類:

package singleton;

//單例模式

public

class singleton

//提供給外界用來獲取例項的介面方法,static確保只能獲取到乙個且唯一乙個例項

public

static singleton getinstance()

}

main類:

package singleton;

public

class main else

system.out.println("end.");}}

singleton類定義了static欄位(類的成員變數)singleton,並將其初始化為singleton類的例項。初始化行為僅在該類被載入時進行一次。

singleton類的建構函式是private的,這是為了禁止從singleton類外部呼叫建構函式。singleton模式的作用在於可以確保任何情況下都只能生成乙個例項。為了達到這個目的,必須設定建構函式為private。

程式執行後,在第一次呼叫getinstance方法時,singleton類會被初始化,也就是這個時候。static欄位singleton被初始化,生成了唯一的乙個例項。

習題:

ticketmaker類:

package singleticket;

public

class

ticketmaker

//公共的靜態的介面方法

public

static ticketmaker getinstance()

//synchronized,適用於多執行緒

public

synchronized

intgetnextnumber()

}

main類:

package singleticket;

public

class main

system.out.println("end...");}}

設計模式 設計模式

物件導向程式設計 oop 的基本概念有 封裝,抽象,繼承,多型等,如何開發出可復用的物件導向軟體一直困擾著軟體開發人員。可復用的物件導向技術包括類的繼承,物件的組合和引數化型別 generic gof的巨著 設計模式 總結出可復用的物件導向的23個設計模式,並且歸類成 建立型模式,結構型模式和行為型...

設計模式 命令設計模式

一句話總結 命令設計模式的實質是將命令定義,命令的執行分離開,從而提公升了系統的解藕性 結構 命令的抽象command 命令的具體實現concretecommand 命令處理者抽象ireceiver 命令處理者的具體實現concretereceiver 命令的呼叫者invoker 客戶端client...

設計模式 9 設計模式

文章 head first 第一章 head first 設計模式讀書筆記 1 策略模式 觀察者模式 head first設計模式學習2 裝飾者模式 head first 設計模式3 工廠模式 head first設計模式4 命令模式 head first 設計模式5 介面卡模式和外觀模式 head...