命令模式(command pattern)是一種資料驅動的設計模式,它屬於行為型模式。請求以命令的形式包裹在物件中,並傳給呼叫物件。呼叫物件尋找可以處理該命令的合適的物件,並把該命令傳給相應的物件,該物件執行命令。
● concretecommand(具體命令類):具體命令類是抽象命令類的子類,實現了在抽象命令類中宣告的方法,它對應具體的接收者物件,將接收者物件的動作繫結其中。在實現execute()方法時,將呼叫接收者物件的相關操作(action)。
● invoker(呼叫者):呼叫者即請求傳送者,它通過命令物件來執行請求。乙個呼叫者並不需要在設計時確定其接收者,因此它只與抽象命令類之間存在關聯關係。在程式執行時可以將乙個具體命令物件注入其中,再呼叫具體命令物件的execute()方法,從而實現間接呼叫請求接收者的相關操作。
//通用receiver類
public abstract class receiver
//具體receiver類
public class concretereciver1 extends receiver
} public class concretereciver2 extends receiver
}//抽象command類
public abstract class command
//具體的command類
public class concretecommand1 extends command
//必須實現乙個命令
public void execute()
} public class concretecommand2 extends command
//必須實現乙個命令
public void execute()
}//呼叫者invoker類
public class invoker
public void action()
}//場景類
public class client
}
java8 對行為型模式下備忘錄模式
備忘錄模式 memento pattern 儲存乙個物件的某個狀態,以便在適當的時候恢復物件。備忘錄模式屬於行為型模式。何時使用 很多時候我們總是需要記錄乙個物件的內部狀態,這樣做的目的就是為了允許使用者取消不確定或者錯誤的操作,能夠恢復到他原先的狀態,使得他有 後悔藥 可吃。如何解決 通過乙個備忘...
行為型模式 8 狀態模式State
在很多情況下我們物件的行為依賴於它的乙個或者多個變化的屬性,這些可變的屬性我們稱之為狀態,也就是說行為依賴狀態,即當該物件因為在外部的互動而導致他的狀態發生變化,從而它的行為也會做出相應的變化。對於這種情況,我們是不能用行為來控制狀態的變化,而應該站在狀態的角度來思考行為,即是什麼狀態就要做出什麼樣...
JAVA設計模式(行為型) 模板模式
定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。public class template main 模板定義,提供給外部同型別樣式,特殊方法特殊實現 abstract class abstractplay priv...