在最近的项目中遇到一个问题,因为项目保密,只能说一些大致的意思:
有A、B、C三个界面。其中A是一个ListBox,用于查看保存的某些数据,而B界面就是查看这些数据的详细情况。从A和B都有一个按钮来对A中某个数据进行相同的处理来进入C界面,所以对A和B中的这两个响应函数基本是相同的,但是在A和B的View中必须都存在一份,是否有比较好的方法来处理这种重复代码
有A、B、C三个界面。其中A是一个ListBox,用于查看保存的某些数据,而B界面就是查看这些数据的详细情况。从A和B都有一个按钮来对A中某个数据进行相同的处理来进入C界面,所以对A和B中的这两个响应函数基本是相同的,但是在A和B的View中必须都存在一份,是否有比较好的方法来处理这种重复代码
把上面的代码写成一个公共函数,全局也行,只要A和B都能调用他就行了.
M里面把所有的数据操作都写全了,要兼顾A和B类操作的不同。例如A要取得简要信息 就提供一个GetSimpleInfo();
B要用详细信息就提供一个GetEntireInfo();
A与B都会用到的直接定义一个函数就行了。在创建类的时候可以考虑将A,B的句柄传进去,这样就可以做到在M类中完成窗口的一些操作了。
目前的思路是通过doc/view结构实现
将数据和对数据的操作存于一份doc中,A、B、C三个视图都关联这份doc
任何一个view对doc的修改都触发另两个视图的更新
现在对doc/view的具体实现理解的还不是很透彻,仍然很疑惑
望达人详解是否可行
放在业务处理层也不好。
当然,在业务处理层的函数返回值可以设为枚举类型,返回错误码,然后对错误码选择不同的处理方式,那我在两个UI界面还是要维护两份相同的错误码处理函数,如果添加了一种case我还是要在两个地方都修改。