请帮我想个办法来解决吧!
问题是这样的,我再做一个镜子游戏,有些人应该玩过类似dweep那个游戏。
现有一个Maze(姑且这么称), Maze里面我分成不少格子 Grid.
Grid里头可以放东西(Thing).
当然用户可以自由的拖放东西,或者转动Grid里头的东西,或者删除之类其他一些操作。
1)
现在我在想,如何实现某一个具体的动作,比如拖放。
该把具体的实现放到哪里去比较好呢?
Grid1.Remove(thing);
Grid2.PutIn(thing);
还是
thing.RemoveFrom();
thing.PutTo(gridx);
比较好?
2)
另外,用户指令需要用Command来封装起来吗?如果封装,该怎么实现呢?
DragCommand implements Command;
然后给他添加属性
private Grid out;
private Grid in;
具体用户产生命令的时候先给属性赴值,然后执行 dragCommand.execute();
这样实现对嘛?
3)
是不是需要用COR模式来处理一个命令呢?
先让Maze处理,处理不了就交给Grid处理,处理不了再丢给Thing.
这样好吗?有没有必要?