單例模式,命令模式,介面卡模式,外觀模式
阿新 • • 發佈:2019-01-09
1.單例模式,很簡單,雙鎖
2.命令模式(用在佇列請求,執行緒池,資料庫日誌等)
經典的命令模式包括4個角色:
Command:定義命令的統一介面
ConcreteCommand:Command介面的實現者,用來執行具體的命令,某些情況下可以直接用來充當Receiver。
Receiver:命令的實際執行者
Invoker:命令的請求者,是命令模式中最重要的角色。這個角色用來對各個命令進行控制。
/// Command角色 interface Command { void Execute(); } /// ConcreteCommand角色 class ConcreteCommand implements Command { private Receiver receiver = null; public ConcreteCommand(Receiver receiver) { this.receiver = receiver; } public void Execute() { receiver.DoA(); receiver.DoB(); } } /// Receiver角色 class Receiver { public void DoA() { System.err.println("DoA"); } public void DoB() { System.err.println("DoB"); } } /// Invoker角色 class Invoker { private Command command = null; //設定命令 public void SetCommand(Command command) { this.command = command; } //執行命令 public void RunCommand() { command.Execute(); } } /// 客戶端呼叫 public class Test { public static void main(String[] args) { Receiver receiver = new Receiver(); Invoker invoker = new Invoker(); invoker.SetCommand(new ConcreteCommand(receiver)); invoker.RunCommand(); } }
3.介面卡模式:將一個類的介面轉換成客戶希望的另一個介面。介面卡模式讓那些介面不相容的類可以一起工作
https://www.cnblogs.com/songyaqi/p/4805820.html
4.外觀模式:提供了一個統一的介面,用來訪問子系統中的一群介面。外觀定義了一個高層介面,讓子系統更容易使用。