Redisson 分散式鎖原始碼 07:公平鎖釋放
阿新 • • 發佈:2021-07-09
-
外觀模式基本介紹
-
外觀模式也叫做過程模式:外觀模式為子系統 的一組介面提供一個一致的介面 ,此模式定義了一個高層介面,這個介面使得這一子系統更加容易使用
-
外觀模式通過定義一個一致的介面,用於遮蔽內部子系統的細節,使得呼叫端和這個介面發生呼叫,而無需關心這個子系統的內部細節
-
結構型模式
-
-
原外觀模式原理類圖
-
類圖
-
分析
-
外觀類(Facade):為呼叫端提供一個統一的呼叫介面, 外觀類知道哪些子系統負責處理請求,從而將呼叫端的請求代理給與適當子系統物件
-
呼叫者(Client):外觀介面的呼叫者
-
子系統的集合:指模組或者子系統,處理Facade物件指派的任務,是功能的實際提供者
-
-
-
通過外觀模式解決影院管理
-
程式碼
public class DVDPlayer{
//使用單例模式中的餓漢式
private static DVDPlayer instance= new DVDPlayer();
private DVDPlayer(){}
public static DVDPlayer getInstance(){
return instance;
}
public void on(){
System.out.println("DVD on");
}
public void off(){
System.out.println("DVD off");
}
public void play(){
System.out.println("DVD is playing");
}
public void stop(){
System.out.println("DVD is stop");
}
}
//爆米花機
public clas Popcorn{
//使用單例模式中的餓漢式
private static Popcorn instance= new Popcorn();
private Popcorn(){}
public static Popcorn getInstance(){
return instance;
}
public void on(){
System.out.println("Popcorn on");
}
public void off(){
System.out.println("Popcorn off");
}
public void pop(){
System.out.println("Popcorn is poping");
}
}
//投影儀
public class Projector{
//使用單例模式中的餓漢式
private static Projector instance= new Projector();
private Projector(){}
public static Projector getInstance(){
return instance;
}
public void on(){
System.out.println("Projector on");
}
public void off(){
System.out.println("Projector off");
}
public void focus(){
System.out.println("Projector is focus");
}
}
//螢幕
public class Screen{
//使用單例模式中的餓漢式
private static Screen instance= new Screen();
private Projector(){}
public static Screen getInstance(){
return instance;
}
public void up(){
System.out.println("Screen up");
}
public void down(){
-