假设有接口类Icommand,不同的模块有不同的接口:Acommand, Bcommand,Ccommand类均继承自Icommand
而对于真正的使用场合,如下:
某一场合需要Acommand:Icommand *Ic_pa = cmdFactory->Create("A");
某一场合需要Bcommand:Icommand *Ic_pb = cmdFactory->Create("B");
某一场合需要Ccommand:Icommand *Ic_pc = cmdFactory->Create("C");
用户只需要知道Icommand中有哪些方法,使用的时候根据需要构造对应的command。
我的理解是,Icommand提供的两个作用:1.方法的定义;2.起到承载器的作用