项目中的设计亮点记录
1.当用到很多种树形数据结构时,虽然这些树形数据结构包含的数据类型或者内容不尽相同,但他们在“树形”方面有很多共性,应该抽象到它们的基类中,这样可以用它们共有“树节点”基类去进行树形数据的共同操作,这个是一种大大减少代码量的抽象方法。
2.对项目的功能模块与设计模式,可以首先对项目进行功能模块的划分,然后对这些功能模块的实现方法进行抽象,提取出可以进行统一实现的部分,对这些统一的部分应用到设计模式中去,这样可以大大减少编码量。
3.对于使用类继承体系和虚函数实现函数动态绑定的设计模式时,如果遇到多个子类难以统一接口时可以考虑如下两种方法:(1)设计一个统一接口,在子类中用enum值来区分各个子类对这个接口方法的执行方式;(2)设计一个统一接口,将这些不能统一的接口方法独立到继承体系的外部,放到其他类中去实现;(3)万不得已再考虑dynamic_cast或dynamic_pointer_cast实现强制类型转换。
4.面对MFC这样的只能由窗口类或线程类进行消息响应的框架,在进行界面逻辑和业务逻辑分离的过程中免不了有业务逻辑中封装的线程需要界面响应的情况,这样的情况下应该将所有业务逻辑的消息进行统一管理,由界面逻辑进行响应。
同样,如果是界面逻辑在消息响应中需要调用很多业务逻辑的内容的话,如果不进行封装会造成界面逻辑与业务逻辑依赖过多,可以考虑在业务逻辑与界面逻辑中增加一层,用于管理界面逻辑对业务逻辑的复杂调用。
下一篇:
数值分析(二):牛顿插值法代码