关于设计上的一个问题,请大家看看。
问题描述:
1 我的程序结构:
class CPoint_
{
}
class CLine_
{
}
class CRect_
{
}
class CCell_ //单元
{
}
class CCellsManage//管理 CCell s
{
}
2 目前我写的程序中有个问题。
有两种设计设计上的选择:
一种是每个类都有自己的 消息处理函数,自己处理消息,那么上一级对象(比如是CLine_)就要负责分发消息,同时要记录下处理后的结果。
比如:
class CPoint_
{
virtual void Draw(CDC * pDC);
void WindowProc(UINT uiMsg, WPARAM wParam, LPARAM lParam);
void OnLButtonDown(WPARAM wParam, LPARAM lParam); //被选中了
}
class CLine_
{
virtual void Draw(CDC * pDC);
void WindowProc(UINT uiMsg, WPARAM wParam, LPARAM lParam)
{
switch(uiMsg)
{
case UM_LBUTTONDOWN:
point.WindowProc(uiMsg,wParam,lParam);
//记录处理后的结果
}
}
}
一种是消息由上一级的对象处理,处理完后改变(下一级)CPoint_的状态。
如果是你,你会选择哪一种,哪一种跟好呢?
请有经验的朋友说说。
谢谢。