設計模式-行為型模式-命令模式
以乙個mis系統為栗子
mis 管理資訊系統(management information system,mis)是乙個以人為主導的,利用計算機硬體、軟體和網路裝置,進行資訊的收集、傳遞、儲存、加工、整理的系統,以提高組織的經營效率。**如下
抽象類中的都是命令方式。public abstract class group
進行需求組
public class requirementgroup extends group
// 客戶要求增加需求
public void add()
// 客戶要求修改需求
public void change()
// 客戶要求刪除需求
public void delete()
// 客戶要求給出變更計畫
public void plan()
}
// 美工組
public class pagegroup extends group
// 客戶要求增加頁面
public void add()
// 客戶要求對現有介面修改
public void change()
// 客戶要求刪除頁面
public void delete()
// 給出計畫
public void plan()
}
最後書寫場景類// **組
public class codegroup extends group
// 客戶要求增加功能
public void add()
// 客戶要求修改功能
public void change()
// 客戶要求刪除功能
public void delete()
// 客戶要求變更計畫
public void plan()
}
此時客戶要求多乙個介面// 場景類
public class client
}
客戶每次都要單獨找乙個,非常複雜,設定乙個負責人,負責和客戶和需求,美工之間的連線。public class client
}
增加需求的命令// 抽象出命令類
public abstract class command
增加刪除頁面的命令public class addrequirementcommand extends command
}
最後再將這也命令封裝,成乙個負責人public class deletepagecommand extends command
}
最後場景類如下public class invoker
// 客戶自行命令
public void action()
}
由於負責人的抽象類中宣告了所有的,所以可以分離public class client
}
**如下
然後在command中宣告接收者。public abstract class command
// 每個命令需要有執行
public abstract void execute();
}
通過建構函式指定
public class concretecommand1 extends command
// 設定新的接受
public concretecommand1(receiver _receiver)
// 處理
public void execute()
}
將需求封裝成命令,然後再負責人當中封裝,最後,需要的時候,直接呼叫負責人,將命令傳入進去即可。// 宣告場景
public class client
}
www.iming.info
設計模式 行為型模式 命令模式
將乙個請求封裝為乙個物件,使發出請求的責任和執行請求的責任分割開。這樣兩者之間通過命令物件進行溝通,這樣方便將命令物件進行儲存 傳遞 呼叫 增加和管理。優點通過引入中介軟體 抽象介面 降低系統的耦合度 擴充套件性良好,增加或刪除命令非常方便。採用命令模式增加與刪除命令不會影響其他類,即滿足 開閉原則...
設計模式 行為型模式,命令模式(11)
命令模式 command pattern 是一種資料驅動的設計模式,它屬於行為型模式。請求以命令的形式包裹在物件中,並傳給呼叫物件。呼叫物件尋找可以處理該命令的合適的物件,並把該命令傳給相應的物件,該物件執行命令。現在多數應用都有撤銷操作。雖然難以想象,但在很多年裡,任何軟體中確實都不存在撤銷 操作...
設計模式 行為型模式
行為型模式用於描述程式在執行時複雜的流程控制,即描述多個類或物件之間怎樣相互協作共同完成單個物件都無法單獨完成的任務,它涉及演算法與物件間職責的分配。行為型模式分為類行為模式和物件行為模式,前者採用繼承機制來在類間分派行為,後者採用組合或聚合在物件間分配行為。由於組合關係或聚合關係比繼承關係耦合度低...