1、 底层资源管理部件和界面控件的不同属性由单独的父类继承而来,方便代码编写和维护;
2、 底层逻辑机制应该独立于具体实现,比如,具体渲染和资源部件应该经由仅包含抽象接口的父类来连入界面系统,方便模块的替换。
3、 按钮应该支持随内容文字大小变化而改变大小。
4、 统一界面内部使用的各类参数对象,如颜色、顶点、条目等,完整其接口函数。
5、 界面资源管理应该统一管理,每个窗口都可以独立由一套规划来描述。
6、 界面应该提供完整的游标解决方案,允许外部设置当前游标状态。
7、 界面缩放和输入坐标的变换应该统一管理。
8、 Const的应用,分别限定返回值和函数体内的常量。const A* getB(void) const { return B; }。
9、 界面控件需要细化出一些特定的类型,以减少对象内存消耗。
10、 文字处理对象应该独立出来,方便不同地方调用。
11、 文字部件的排版应该分为8类 单行左对齐、单行右对齐、单行居中、单行自动、多行左对齐、多行右对齐、多行居中和多行自动。同时绘制函数应该提供多种简化接口。
12、 文字部件应该不包含具体渲染方法,仅实现逻辑。
13、 文字部件应该支持鼠标右键消息。
14、 绘制,检查更新的时候,每个控件应该可以详细更新到内部的某一区域,而不是现在的整个热区。
15、 写日志文件的接口应该适当进行封装,例如throw_exception机制或者重载()运算符。
16、 通过Singleton类来保证静态对象的唯一性。
17、 通过CCommutativePointer类来保证父类能够正确的取得子类对象的指针。当多重继承时有用。
18、 贴图管理和使用参考image/imageset/imagemanager,层次清晰且容易扩展。
19、 对不需要精确对比的map使用FastLessCompare来加速插入。
20、 鼠标控件的限制范围功能应该加强,并且在三维模式下可用。
21、 使用Property属性代理来实现类参数与实际应用分离,并且可以支持xml文件格式存取。
22、 渲染队列RenderCache有助于集中处理渲染事件,配合容器可以实现控件内精确的渲染控制。
23、 使用容器来实现控件的客户区和实际区的坐标协调,当使用滑动条时将非常有用。
24、 按钮的标准外观变为跟窗口一样的拼接方式。
25、 编写独立的容器层,负责消息转发机制。
26、 滑动条控件应该支持数值变化的动态效果。
27、 界面底层不要使用d3dvector等外部定义的符号。
28、 Mutable声明的对象可以在const类型的函数中访问并修改。
29、 公有函数用大些开头,私有用小写开头。