Command 模式是最讓我疑惑的一個模式
Command 定義
不少Command 模式的代碼都是針對圖形界面的
將這些命令封裝成在一個類中
顯然這樣做的好處是符合封裝的特性
如何使用?
具體的Command 模式代碼各式各樣
典型的Command 模式需要有一個接口
public interface Command {
public abstract void execute ( );
}
具體不同命令/請求代碼是實現接口Command
public class Engineer implements Command {
public void execute( ) {
//do Engineer
}
}
public class Programmer implements Command {
public void execute( ) {
//do programmer
}
}
public class Politician implements Command {
public void execute( ) {
//do Politician
}
}
按照通常做法
public class producer{
public static List produceRequests() {
List queue = new ArrayList();
queue
queue
queue
return queue;
}
}
這三個命令進入List 中後
public class TestCommand {
public static void main(String[] args) {
List queue = Producer
for (Iterator it = erator(); it
//取出List 中東東
個特征是
// 他們至少是接口Command 的
類型為接口Command
((Command)it
}
}
由此可見
理解了上面的代碼的核心原理
使用Command 模式的一個好理由還因為它能實現Undo 功能
Command 模式在界面設計中應用廣泛
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27389.html