来一个设计的问题
积木 2004-11-12 12:23:29 我现在正在做一个画图工具,利用MFC。我现在的结构是让CView这个class来
维护一个vector<CGraphic*>,所有的图元class都从CGraphic来继承,在CView中加一个工厂方法
创建这些图元。
现在有一个问题,这个画图工具需要支持选择图元,移动图元,等功能。
也就是说那个CView有两个状态需要切换:添加图元,选择移动图元。
那么可能我在OnLButtonDown这个函数里面要写
if(添加图元)
{
pGra= CreateGraphic(kind);
}else if(选择移动图元)
{
pGra->Move();
.....................
}
不仅这个函数,其他的函数可能都会有这样的结构,例如OnMouseMove等等,
如果将来还有别的什么状态,就会造成很多函数都需要修改,使得代码的扩展性很差。
希望我的问题说明白了,我现在应该是用什么样的模式呢?我应该如何设计