設計模式 命令

2021-07-27 23:37:43 字數 2681 閱讀 6220

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

using 設計模式講解.command;

namespace 設計模式講解

mtreceiver _mtreceiver = new mtreceiver();

threadpoolcmd _threadpoolcmd = new threadpoolcmd(_mtreceiver);

parallelcmd _parallelcmd = new parallelcmd(_mtreceiver);

taskcmd _taskcmd = new taskcmd(_mtreceiver);

invoker _invoker = new invoker();

_invoker.setcommand(_parallelcmd);

_invoker.excutecommand(caculatelist);

console.readkey();}}

}

mtreceiver

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

using system.threading;

namespace 設計模式講解.command

,執行緒id:", t, thread.currentthread.managedthreadid);

}),item);}}

/// /// 並行

///

///

public void parallelmethod(listcaculatelist)

,執行緒id:", t, thread.currentthread.managedthreadid);

});}

/// /// 直接建立task

///

///

public void taskmethod(listcaculatelist)

,執行緒id:", i, thread.currentthread.managedthreadid);

});}

task.waitall(tasks);}}

}

icmd

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 設計模式講解.command

public abstract void excute(listcaculatelist);

}}

threadpoolcmd

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 設計模式講解.command

public override void excute(listcaculatelist)

}}

parallelcmd

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 設計模式講解.command

public override void excute(listcaculatelist)

}}

taskcmd

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 設計模式講解.command

public override void excute(listcaculatelist)

}}

invoker

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 設計模式講解.command

public void excutecommand(listcaculatelist)}}

設計模式 命令設計模式

一句話總結 命令設計模式的實質是將命令定義,命令的執行分離開,從而提公升了系統的解藕性 結構 命令的抽象command 命令的具體實現concretecommand 命令處理者抽象ireceiver 命令處理者的具體實現concretereceiver 命令的呼叫者invoker 客戶端client...

設計模式 命令模式

1 命令模式的角色組成 1 命令角色 command 生命執行操作的介面。介面或抽象類來實現。2 具體命令角色 concrete command 將乙個接收者物件繫結於乙個動作 呼叫接收者相應的操作,以實現命令角色宣告的執行操作的介面。3 客戶角色 client 建立乙個具體命令物件 並可以設定它的...

設計模式 命令模式

1 command.h ifndef command h define command h include include include using namespace std class chef 廚師,具體命令的執行者 class command 命令基類 class makemuttonco...