自己的第一个基于MFC的项目马上就要结束了,在回顾以前代码的时候,突然有一些想法,写出来请大家评论一下:
MFC下,我觉得自己写的类可分为三种,一是平台类,二是数据类,三是方法类。
平台类:在MFC中具体表示为一些窗口类及显示类,比如主窗口类,视图类等,其主要作用是显示数据及与用户进行信息的交互,为我们提供了一种操作的平台,所以称之为平台类。平台类最好不要包含用户的数据,不要为用户提供太多方法,只提供一些基本的通用接口即可。数据,平台永远不知道用户想让其展示什么数据,所以不要越俎代庖。平台也永远不知道用户需要哪些操作,所以平台的操作如果过多,过于具体,则会显得多余。一个良好的平台,应该为用户提供装载任何数据的空间,为用户的各自自定义操作提供接口。即平台应该具有开放性。当然,平台的内部机制会影响其安全性,健壮性等其它特性。平台与平台之间也需要信息的交流。
数据类:在MFC中具体表现为用户自定义的数据类,结构体等。这种类在饮食基本数据的情况下再提供一些基本数据的访问方法就可以了,没有必要提供一些访问基本数据之外的方法,这些方法可由专门的方法类提供。
方法类:只提供方法,用于操作从数据类中获取的数据。拿一台电脑来说,显示器及处理器应该属于平台类,硬盘应该属于数据类,键盘,鼠标之流则应该属于方法类。
平台类应该具有开放性,尽量支持更多种类的数据与方法;数据类应该尽量贴近需求,能记录用户所需的所有信息;方法类应该尽量强大,能方便用户进行各种操作。
需求由用户提供,程序员则根据用户需求提供相应的平台类,数据类和方法类。三种类各司其职,以特殊的通道进行联系。如有新的需求,可对三种类进行拓展,如有变更需求,则三种类也易于维护。