今天在比较清醒的时候很轻松的就将上次花了一整天时间也没有搞定的问题解决了,原因就在于当时完全是凭感性的在那里艰难的调试而没有好好的想想整个逻辑结构是否合理,以及函数是否清晰的表达了意思。
解决的关键问题其实已经不是数据结构了,而是如何正确的使用这个数据结构了,原来的问题是没有正确的设计好寻找相连节点的FindAttachedObj()函数,还有就是应该在OnButtonUp的时候跟踪所有点击情况而不是在OnBUttonDown或者在OnMouseMove的时候!!
注意要实时更新m_CurrentID分量,否则答案也不对!
--------------------------------------------------------
感觉是很面向过程化的风格,因为得很关注事件发生的顺序,而且时刻要注意函数里面和函数之间发生的所有相关的细节(比如要自己动手更新某些变量,这是典型的面向过程的风格),所以,整个设计上没有好好的考虑。
那么像这种界面交互式的程序怎么样找到一种面向对象设计的模式呢?当然,已经暗示了数据结构必须首先合理的设计了
解决的关键问题其实已经不是数据结构了,而是如何正确的使用这个数据结构了,原来的问题是没有正确的设计好寻找相连节点的FindAttachedObj()函数,还有就是应该在OnButtonUp的时候跟踪所有点击情况而不是在OnBUttonDown或者在OnMouseMove的时候!!
注意要实时更新m_CurrentID分量,否则答案也不对!
--------------------------------------------------------
感觉是很面向过程化的风格,因为得很关注事件发生的顺序,而且时刻要注意函数里面和函数之间发生的所有相关的细节(比如要自己动手更新某些变量,这是典型的面向过程的风格),所以,整个设计上没有好好的考虑。
那么像这种界面交互式的程序怎么样找到一种面向对象设计的模式呢?当然,已经暗示了数据结构必须首先合理的设计了
博主轻松解决上次未搞定的问题,关键在于正确使用数据结构,如合理设计FindAttachedObj()函数、在合适时机跟踪点击情况等。还指出原设计是面向过程风格,思考界面交互式程序如何采用面向对象设计模式,强调要先合理设计数据结构。
1195

被折叠的 条评论
为什么被折叠?



